zombie.c

来自「嵌入式Linux 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 + -
显示快捷键?