从 perl 主脚本中分离 .exe
Posted
技术标签:
【中文标题】从 perl 主脚本中分离 .exe【英文标题】:detach .exe from perl main script 【发布时间】:2011-02-27 22:14:56 【问题描述】:我被困在这里..:( 我正在尝试从 Perl 脚本执行 temp.exe 文件。
我尝试使用以下方法:
1)
$pid= open( CMD, "| exp.exe > C:\exp_out.txt" );
print CMD "arg1\n";
print CMD "arg2\n";
print CMD "arg3\n";
现在这个 exp.exe 一直在后台运行,没有任何问题。但是如果我想关闭它并重新启动它,它会启动 exp.exe 但不向 exp.exe 提供输入参数
结束:
system("taskkill /F /T /pid $pid");`
现在这是 2 个子例程打开和关闭的一部分...
我也试过 Open2;Win32::Process; Open2 卡在 exp.exe 和 Win32::Process 我不知道如何传递多个参数。
【问题讨论】:
您的格式看起来像是您的 perl 脚本实际上调用了刻度线中的每一行。这是你运行它的方式,还是格式不正确? 【参考方案1】:尝试在命令行中传递参数。打印到 CMD 就像打开管道后输入文本一样。如果这是您想要的,那么您的程序 exp.exe
需要期待来自 STDIN 的输入
$pid = open(CMD, "| exp.exe arg1 arg2 arg3 > file.txt");
#do your work here
close(CMD)
【讨论】:
以上是关于从 perl 主脚本中分离 .exe的主要内容,如果未能解决你的问题,请参考以下文章