Linux中“system”和“exec”的区别是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (130)

systemexec家庭命令有什么区别?特别是我想知道他们中的哪一个创造了子进程的工作?

提问于
用户回答回答于

exec函数在成功时替换当前正在运行的过程映像,但不会创建子进程(除非您自己以前使用过fork())。system()函数为子进程分叉,并在提供的命令执行完成或发生错误时返回。

用户回答回答于

一般来说,我想你可以把它想象system()成一个更高层次的接口。你可以使用一些组合,自己复制它的功能fork()exec()以及wait()。

扫码关注云+社区

领取腾讯云代金券