exec() exec() 调用运行进程“加载”并执行一个新的程序 可以指定参数 如果调用成功,是同一个进程,但是执行了不同的程序 代码 堆、栈重写 fork() -> exec() fork() 将父进程的地址空间进行完整拷贝, exec() 将复制的地址空间覆盖 很显然前一步是多余的?如何优化? vfork() copyonwrite技术 fork() 时只复制元数据,(页表),当父子进程对某一个地址单元进行写操作时,会将那部分页表给父子进程各一份,按需复制