我有一小段代码有问题。
void setTimeout(int time)
{
if (fork() == 0) {
pid_t id = getppid();
sleep(time);
if(kill(id, 0) == ESRCH)
return;
cerr << "Time out!" << endl;
kill(id, TIMEOUT);
return;
}
}
当父进程正在运行并且我不需要杀死他时,什么也不会发生,它会按预期关闭,但是如果父进程在超时之前结束,ubuntu将会崩溃。
谢谢你的时间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句