zombie.c
来自「Linux 下 C 库及常用 系统调用的使用事例」· C语言 代码 · 共 30 行
C
30 行
#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 + =
减小字号Ctrl + -
显示快捷键?