test1.c

来自「unix高级编程源代码.<<unix高级编程>>」· C语言 代码 · 共 45 行

C
45
字号
#include	<signal.h>
#include	"ourhdr.h"

int
main(void)
{
	pid_t	pid;

	if ( (pid = fork()) < 0)
		err_sys("fork error");
	else if (pid != 0) {		/* parent */
		sleep(2);
		exit(2);				/* terminate with exit status 2 */
	}

								/* first child */
	if ( (pid = fork()) < 0)
		err_sys("fork error");
	else if (pid != 0) {
		sleep(4);
		abort();				/* terminate with core dump */
	}

								/* second child */
	if ( (pid = fork()) < 0)
		err_sys("fork error");
	else if (pid != 0) {
		execl("/usr/bin/dd", "dd", "if=/boot", "of=/dev/null", NULL);
		exit(7);				/* shouldn't get here */
	}

								/* third child */
	if ( (pid = fork()) < 0)
		err_sys("fork error");
	else if (pid != 0) {
		sleep(8);
		exit(0);				/* normal exit */
	}

								/* fourth child */
	sleep(6);
	kill(getpid(), SIGKILL);	/* terminate with signal, no core dump */
	exit(6);					/* shouldn't get here */
}

⌨️ 快捷键说明

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