File-Descriptors
什麼設置了孩子的 STDERR、STDOUT 和 STDIN?
如果一個程序執行
fork()
什麼設置標準流STDOUT
,STDIN
以及STDERR
?
標準輸入、標準輸出和標準錯誤是從父程序繼承的。如果需要,由子程序將它們更改為指向新文件。
從
fork(2)
手冊頁:* The child inherits copies of the parent's set of open file descrip‐ tors. Each file descriptor in the child refers to the same open file description (see open(2)) as the corresponding file descriptor in the parent.
正如 Kyle Jones 所說,它們是從父程序傳播的。如果您要問如何將它們設置在孩子身上,那麼您正在尋找
freopen()
.