2012-04-17 103 views
3

如果您對父進程執行fork()並創建子進程,然後子進程關閉從fork繼承的fd。父/子進程關閉文件描述符

文件在父文件中保持打開狀態,因爲它們是獨立的?標準I/O或標準錯誤呢?

回答

3

無論它們代表文件還是設備(包括標準I/O描述符),如果在一個進程中關閉,其他進程仍然有一個有效的描述符。

這很自然。如果一個子進程意外崩潰,那麼當檢測到父進程通過任何以前打開的描述符時,父進程甚至難以記錄這個事實,因爲所有形式的進程退出都涉及關閉所有打開的描述符。

相關問題