?? 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 + -