我被困在这里.. :(我正在尝试从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我不知道如何传递多个参数。
答案 0 :(得分:1)
尝试在命令行中传递参数。打印到CMD就像打开管道后键入文本一样。如果这是您想要的,那么您的程序exp.exe
需要期望来自STDIN的输入
$pid = open(CMD, "| exp.exe arg1 arg2 arg3 > file.txt");
#do your work here
close(CMD)