我有一些代码,其中几个进程是通过分叉创建的。每个进程都有popen()函数来执行一些shell命令。问题是所有这些进程都使用相同的输入/输出流。当进程同时写入一个流时发生冲突时,会出现这种情况。
有什么方法可以解决这个问题,使每个分叉的进程都使用自己的流吗?
我的箱子里不准用叉子。

最佳答案

在子进程中,必须在fork之前或之后(如果可能)关闭并重新打开stdin和stdout。

09-07 02:22