2012-04-17 22 views
3

親プロセスでfork()を実行し、子プロセスを作成した場合、子プロセスはforkから継承したfdを閉じます。親子プロセスのファイル記述子を閉じる

ファイルは独立しているので、親ファイルで開いたままにしますか?標準I/Oまたはstderrはどうですか?

答えて

3

ファイルやデバイス(標準I/Oディスクリプタを含む)を表していないにもかかわらず、1つのプロセスで閉じると、他のプロセスには引き続き有効なディスクリプタがあります。

これはかなり自然です。子プロセスが予期せずクラッシュした場合、親プロセスは検出されたときに以前に開いたディスクリプタを介してこのファクトを記録することさえ困難になります。

関連する問題