打开的进程我试图杀死一个进程,我在Win32(XP)的Perl在后台打开 我尝试了几件事....似乎没有工作....如何杀死打开()
$pid = open(CMD, "| cmd.exe > C:\\cmdout.txt");
要杀了这个后台进程试过几件事情.... :(
system('taskkill /F /IM cmd.exe');
system("taskkill /F /pid $pid");
close CMD || warn "cmd exited $?";
选项2永远不会奏效试图打印PID打印的值,并在系统实际是不同的。 选项1级的作品,但我觉得这个过程仍然在回地面运行,因为我结束进程后,我等待一段时间,然后重新启动该进程...
请帮
-Thanks
这听起来像一个特定于Windows的问题。 – EboMike 2011-02-06 03:34:23
原帖说'system('taskkill/F/pid $ pid')`。我将它改为双引号,否则`$ pid`不会被内插。我希望这只是你的文章中的一个错字,而不是实际的代码。 – cjm 2011-02-06 04:10:30