fork1.c

来自「AUPE的源代码」· C语言 代码 · 共 29 行

C
29
字号
#include	<sys/types.h>
#include	"ourhdr.h"

int		glob = 6;		/* external variable in initialized data */
char	buf[] = "a write to stdout\n";

int
main(void)
{
	int		var;		/* automatic variable on the stack */
	pid_t	pid;

	var = 88;
	if (write(STDOUT_FILENO, buf, sizeof(buf)-1) != sizeof(buf)-1)
		err_sys("write error");
	printf("before fork\n");	/* we don't flush stdout */

	if ( (pid = fork()) < 0)
		err_sys("fork error");
	else if (pid == 0) {		/* child */
		glob++;					/* modify variables */
		var++;
	} else
		sleep(2);				/* parent */

	printf("pid = %d, glob = %d, var = %d\n", getpid(), glob, var);
	exit(0);
}

⌨️ 快捷键说明

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