是的,因为在 UNIX 中就是这样做的。
没有“运行应用程序”系统调用;它总是由 fork/exec 对完成。
顺便说一下,exec也不会产生新的PID。exec 替换进程的内容——丢弃内存,加载一个全新的可执行文件——但内核状态保持不变(打开文件、环境变量、工作目录、用户等),PID保持不变相同的。
进一步阅读,如果你有兴趣:
vfork就像fork它必须始终与 配对exec,并且在fork无法工作时很有用,例如在 ucLinux 中。
clone是新的fork(今天的fork函数clone在幕后使用)但做了更多的事情,包括创建共享相同内存的新进程(而不是复制它,如fork),我们称之为线程。
| 归档时间: |
|
| 查看次数: |
5027 次 |
| 最近记录: |