僵尸进程不占用内存,但是还是占有pid
指明某个进程结束pid_t为0,任意进程为-1代表广播——》计算机网络 pid_t waitpid()
pid_t wait(*int)(通过exit将整数传给内核)
两个函数都返回子进程pid(通过子进程的exit()函数返回,)
出错是给父进程看的
#include<sys/types.h>
#include<unistd.h>
#include<stdio.h>
#include <stdlib.h>
int main()
{
for (int i = 0; i < 5; i++)
{
int pid=fork();
if (pid == 0)
{
printf("%d\n",getpid());
sleep(10);
exit(0);
}
while(waitpid(-1,0,WNOHANG)){};
}
}