【温故而知新】Unix环境编程之进程控制

来源:互联网 发布:宁夏干部教育网络培训 编辑:程序博客网 时间:2024/04/30 17:25

前提:当一个进程正常或者异常终止时,内核就向其父进程发送SIGCHLD信号。

1)父进程在子进程之前终止,子进程由init进程领养(进程ID为1);

2)子进程在父进程之前终止,但其父进程尚未对其进行善后处理(获取终止子进程的有关信息、释放它占用的资源),处于“僵死”状态。

3)父进程可以通过调用wait()和waitpid()来获取子进程的终止状态。

4)只要有一个子进程终止,init进程就会调用一个wait()函数获取其终止状态。

5)wait()使其调用者阻塞;waitpid()不会;

关于fork函数:

    子进程获得父进程数据空间、堆和栈的复制品,也就是说子进程完整的复制了一份。

关于Copy-On-Write技术:

    将需要复制的区域的存储权限设为“只读”,只有当需要修改这些区域时,才做一个拷贝。

原创粉丝点击