一尘不染

system()在Linux中到底如何工作?

linux

我一直在阅读其手册页,但尚未成功弄清其工作原理。在调用system()时,是否分叉了一个新的子进程,并在其中添加了shell二进制文件exec()?但这可能是一个愚蠢的猜测。


阅读 198

收藏
2020-06-07

共1个答案

一尘不染

是的,system()本质上是传递的命令字符串的fork()和exec()“ sh
-c”。可以在此处找到示例实现(来自eglibc,最近来自glibc)。

2020-06-07