当前位置: 技术问答>linux和unix
父进程的死循环里的wait为何会让子进程僵尸进程
来源: 互联网 发布时间:2016-07-14
本文导语: int main() { pid_t pid; pid = fork(); if(pid 0) { while(1) { wait(); //关键就是这个wait,为...
int main()
{
pid_t pid;
pid = fork();
if(pid 0)
{
while(1)
{
wait(); //关键就是这个wait,为什么在死循环里会产生僵尸进程,调用wait会不会产生中断
}
}
else if(pid == 0)
{
printf("I am a zombie!n");
sleep(2);
}
return 0;
}
{
pid_t pid;
pid = fork();
if(pid 0)
{
while(1)
{
wait(); //关键就是这个wait,为什么在死循环里会产生僵尸进程,调用wait会不会产生中断
}
}
else if(pid == 0)
{
printf("I am a zombie!n");
sleep(2);
}
return 0;
}
|
wait 的参数太少,
你试试 wait(NULL);
另外不要用 while 试试。
你是什么系统 ?
你试试 wait(NULL);
另外不要用 while 试试。
你是什么系统 ?