经过一番研究之后,我来到这里,只是想知道用 C 语言启动命令的更好方法是什么(对于输入/输出控制和不受控制的场景)。
我已经看过了system
,popen
并且fork
而popen
和fork
是开销大/重量重的(因为前者使用管道,后者复制整个父进程)并且system
不可移植。
谢谢您的任何建议。
更新 1
但是,如果任何一个进程试图修改公共变量,COW 就会起作用,我们需要非常小心,不要允许这样的事情发生,但对于我的需求,我可以使用一些现有的命令,如 grep、awk、dd 和 find。此外,启动另一个 exe,我发现系统非常方便,但有时我必须捕获输出,所以除了系统之外,我们还有其他替代方案吗?