我在Cygwin中运行以下内容:
my $pid = fork();
if (!$pid) {
system($command);
# do other stuff
exit;
}
else {
sleep $timeout;
print "Process timed out\n"
system ("TASKILL /F /T /PID $pid");
}
如果进程超时,它会按预期被杀死,因此该部分可以正常工作。然而,当该过程及时完成并且“其他内容”完成时,perl.exe
将无限期地挂起。为什么不退出?
如果我使用exec()
代替system()
,则“其他内容”未完成,但仍未退出。
由于