当前位置: 技术问答>linux和unix
出现了僵死进程,求解、。
来源: 互联网 发布时间:2016-09-28
本文导语: 这段程序出现了僵死进程,非常不解,求解。 谢谢。 sigset_t sig_pending; //此处开始调用fork生成子进程,主进程监控子进程,保证服务正常运行 while(true) { sigpending(&sig_pending); //处理退出信号 if( sigismember(&sig_pending,...
这段程序出现了僵死进程,非常不解,求解。
谢谢。
谢谢。
sigset_t sig_pending;
//此处开始调用fork生成子进程,主进程监控子进程,保证服务正常运行
while(true)
{
sigpending(&sig_pending);
//处理退出信号
if( sigismember(&sig_pending, SIGTERM) || sigismember(&sig_pending,SIGINT))
break;
//生成子进程
pid_t pid = fork();
if( pid 0){ //父进程
//生成自动更新子进程
pid_t pid1 = fork();
if( pid1 0) //父进程
waitpid(pid1, NULL, 0);
waitpid(pid, NULL, 0);
}
}
|
waitpid(pid1, NULL, 0);
waitpid(pid, NULL, 0);
会不会是父进程阻塞在第一个调用上,且这时候pid子进程结束了?
waitpid(pid, NULL, 0);
会不会是父进程阻塞在第一个调用上,且这时候pid子进程结束了?
|
证实这个原因。