分叉进程拒绝退出

时间:2013-11-07 22:32:05

标签: perl unix cygwin fork

我在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(),则“其他内容”未完成,但仍未退出。

由于

0 个答案:

没有答案