📄 zombie.c
字号:
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>
int main()
{
pid_t pid;
if((pid = fork()) < 0){
perror("fork");
/*子进程1*/
}else if(pid == 0){
if((pid = fork()) < 0)
perror("fork");
/*子进程2退出*/
else if(pid > 0)
exit(0);
/*等待两妙,以确保在打印父进程ID时第一个子进程已终止*/
sleep(2);
/*打印子进程的父进程号*/
printf("second child, parent pid = %d\n", getppid());
exit(0);
}else{
/*在父进程中等待子进程退出*/
if(waitpid(pid, NULL, 0) != pid)
perror("waitpid");
exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -