本章内容与前一章(进程环境)内容紧密相关,完全熟悉进程环境之后,才能理解进程控制相关内容。
本章内容充分体现了本书的名字“环境高级编程”。环境相关的内容介绍的比较充分,但是对于最基础的原理级内容(fork,exec)讨论不足。
应该是因为限于这本书的主题,而缺少了CSAPP第三章,第七章那种较为底层的讲解。
综合csapp和《UNIX网络编程卷2:进程间通信》才能对进程相关的原理概念较为了解。
具体内容见图1和图2:
图1 进程控制概要
图2 进程控制原语
避免使用vfork。
BTW:写本篇博客内容时,让我联想起了以前在酷壳上的一篇文章《一个fork的面试题》。又看了一遍之后,感觉那种解释方式不太符合我的思维方式(不是说解释的不对),故重写一篇关于《fork面试题》的blog。
不明白的问题:
CSAPP中说子进程复制父进程的文本段。
APUE中说父子进程共享文本段。
到底哪个是对的。