
1. 简介 通常来说,shell要启动一个新的程序,会先fork一个新进程,然后执行exec系统调用将替换新进程的执行程序。posix规定了posix_spawn函数,封装了fork+exec的过程,提供了更加高效的接口。 2. 追踪进程 2.1. 一个比hello world还简单的程序 C语言编程通常会以printf("hello world\n");作为第一个程序。这里写一个简单的程序来演示进程的创建、执行和退出。 main函数的返回值会被作为进程的退出码传递给exit系统调用,如果使用void main(void),进程的退出值可能是不确定的,这里为了方便理解,使main函数的返回值为0。 1int main(void)...