微軟在這裏玩得很安全。在他們的文章"Creating a Child Process with Redirected Input and Output"中,他們說: 當這個進程終止時,剩下的打開的句柄被清除。 爲避免更大應用程序中的資源泄漏,請明確關閉句柄。 這是完全沒用的。什麼處理?在哪個過程中? 我想讓我的頭在附近。 在父進程中使用SECURITY_ATTRIBUTES.bInheritHan
所以我試圖在fork()之後的子進程上運行一個系統命令(或者exec,或者其他),然後向它推入一些輸入,然後得到它的輸出。它在fork()後面看起來像這樣,pc和cp是父子和父子管道。現在 case 0:
/* Child. */
close(STDOUT_FILENO); /* Close current stdout. */
dup2(cp[1], STDO