wait2.c

来自「本文件介绍了unix内核的c源代码」· C语言 代码 · 共 32 行

C
32
字号
#include <stdio.h>#include <unistd.h>#include <signal.h>void main(){	pid_t pid1, pid2, pid3;	int status;	while (1)	{		if ((pid1 = fork()) < 0) exit(1);		else if (pid1 == 0)	/* 子进程1 */		{			sleep(30);			exit(0);		}		if ((pid2 = fork()) < 0) exit(1);		else if (pid2 == 0)	/* 子进程2 */		{			sleep(40);			exit(0);		}		fprintf(stderr, "Parent [%d] Fork child pid=[%d][%d]\n", getpid(), pid1, pid2);		pid3 = wait(&status);		kill(pid1, SIGTERM);		kill(pid2, SIGTERM);		fprintf(stderr, "Kill child pid=[%d][%d], exit pid[%d], status[%d]\n", pid1, pid2, pid3, status);		pid3 = wait(&status);		sleep(1);	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?