进程管理(六) 加载和执行进程

mac2026-06-21  0

exec()

exec() 调用运行进程“加载”并执行一个新的程序 可以指定参数 如果调用成功,是同一个进程,但是执行了不同的程序 代码 堆、栈重写

fork() -> exec()

fork() 将父进程的地址空间进行完整拷贝, exec() 将复制的地址空间覆盖

很显然前一步是多余的?如何优化?

vfork() copyonwrite技术 fork() 时只复制元数据,(页表),当父子进程对某一个地址单元进行写操作时,会将那部分页表给父子进程各一份,按需复制
最新回复(0)