私はpipe()システムコール経由でプロセス間通信を行っています。子は一方の端に書き込みを行い、親は他方の端を読み込むことになっています。Linuxパイプ()の終わりが先に終了するとどうなりますか?
親が読み込みを開始する前に、waitpid()が子プロセスの完了を完了するようにします。子がゼロ以外の戻り値で終了した場合、子にエラーがあったことを示します。したがって、親は単にパイプ記述子を閉じ、読み込みせずに移動します。
子供が正常に完了した場合にこれが機能すると思いますか?パイプを読む前に、親が効果的に子どもを刈り取っていますか?はいの場合、転送中のデータはどうなりますか? OSは安全に親エンドに到達するデータを処理しますか?