从 C 语言启动 Linux/Unix 命令的最佳方法

从 C 语言启动 Linux/Unix 命令的最佳方法

经过一番研究之后,我来到这里,只是想知道用 C 语言启动命令的更好方法是什么(对于输入/输出控制和不受控制的场景)。

我已经看过了systempopen并且fork

popenfork是开销大/重量重的(因为前者使用管道,后者复制整个父进程)并且system不可移植。

谢谢您的任何建议。

更新 1

但是,如果任何一个进程试图修改公共变量,COW 就会起作用,我们需要非常小心,不要允许这样的事情发生,但对于我的需求,我可以使用一些现有的命令,如 grep、awk、dd 和 find。此外,启动另一个 exe,我发现系统非常方便,但有时我必须捕获输出,所以除了系统之外,我们还有其他替代方案吗?

相关内容