有什么区别system
and exec
家庭命令?特别是我想知道他们中的哪一个创建子进程来工作?
system()
呼唤sh
处理你的命令行,这样你就可以获得通配符扩展等。exec()
及其朋友用新的进程映像替换当前的进程映像。
With system()
,您的程序将继续运行,并且您会返回有关您调用的外部命令的一些状态。和exec()
,你的进程就被删除了。
一般来说,我想你可能会想到system()
作为更高级别的接口。您可以使用某种组合自己复制其功能fork()
, exec()
, and wait()
.
为了回答你的最后一个问题,system()
导致创建子进程,并且exec()
家人没有。你需要使用fork()
为了那个原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)