原创
第八章——进程控制(Process Control)
2009-3-16 13:46
1724
4
4
分类:
软件与OS
1 #include "apue.h"
2
3 int glob = 6;
4 char buf[] = "a write to stdout\n";
5
6 int
7 main(void)
8 {
9 int var; //automatic variable on the stack
10 pid_t pid;
11
12 var = 88;
13 if (write(STDOUT_FILENO, buf, sizeof(buf) - 1) != sizeof(buf)-1)
14 printf("write error");
15 printf("before fork\n");
16
17 if ((pid = fork())<0) {
18 printf("fork error\n");
19 }
20 else if (pid == 0) {
21 glob ++;
22 var ++;
23 }
24 else {
25 sleep(2);
26 }
27
28 printf("pid = %d, glob = %d, var = %d\n", getpid(), glob, var);
29 exit(0);
30 }
~
yannzi@ubuntu:~/桌面/_8$ gcc -o example_of_fork_function example_of_fork_functio
n.c
yannzi@ubuntu:~/桌面/_8$ ./example_of_fork_function
a write to stdout
before fork
pid = 9253, glob = 7, var = 89
pid = 9252, glob = 6, var = 88
yannzi@ubuntu:~/桌面/_8$ ./example_of_fork_function > temp.out
yannzi@ubuntu:~/桌面/_8$ cat temp.out
a write to stdout
before fork
pid = 9272, glob = 7, var = 89
before fork
pid = 9271, glob = 6, var = 88
标准输出连接到终端行缓冲与否则全缓冲的区别
先学习到176页,8.3. fork Function
预知后事如何,请继续往下写。。。
文章评论(0条评论)
登录后参与讨论