写时拷贝与进程控制全解析
本文介绍了进程控制中的关键概念和技术。写时拷贝(Copy-on-Write)通过延迟数据拷贝来提升进程创建效率和减少内存浪费。详细说明了进程退出的三种方式(return、exit、_exit)及其区别,以及进程等待机制(wait/waitpid)和异常处理。重点解析了exec*系列接口的进程程序替换功能,包括6种常用接口及其适用场景,强调替换成功后将不再执行原进程代码。同时阐述了进程独立性的实现原
·
写时拷贝与进程控制详解
写时拷贝(Copy-on-Write)简介

进程退出与退出码
echo $?用于打印最近一个程序(进程)退出时的退出码。
进程退出方式
调用 exit(int number) 时,进程会立即退出,number 为退出码。
进程等待机制
非阻塞等待
父进程可以通过非阻塞轮询方式不断查询子进程状态,这样可以在等待的同时处理其他任务,实现资源的高效利用。

exec* 系列接口详解(进程程序替换)
exec* 系列接口用于将当前进程的执行代码替换为新程序,不会创建新进程。
常用接口说明
- execl(路径+程序名, ... , NULL)
- execlp(文件名, ... , NULL) 只需文件名,自动在 PATH 环境变量中查找命令
- execv(路径, 数组参数) 参数以数组形式传递
- execvp(文件名, 数组参数) 自动查找 PATH,参数以数组传递
- execvpe(PATH, 数组参数)
- execve(文件名, 数组参数, 环境变量)这是系统调用,提供最底层的进程替换能力
进程独立性通常结合子进程使用,父进程与子进程互不影响,体现了写时拷贝的独立性。
参数与环境变量

更多推荐

所有评论(0)