フォークによっていくつかのプロセスが作成されるコードがあります。すべてのプロセスには、いくつかのシェル コマンドを実行するための popen() 関数があります。問題は、これらすべてのプロセスが同じ入出力ストリームを使用することです。これにより、複数のプロセスが 1 つのストリームに同時に書き込みを行ったために衝突が発生した場合に状況が発生します。
フォークされたすべてのプロセスが独自のストリームを使用するように、その問題を解決する方法はありますか? 私の場合、フォークで何もすることは許可されていません。