text: 在作業系統領域中，孤兒程序指的是在其父程序執行完成或被後仍繼續執行的一類程序。解決辦法.“收養”.在類UNIX作業系統中，為避免孤兒程序退出時無法釋放所佔用的資源而僵死，任何孤兒程序產生時都會立即為系統程序init或systemd自動接收為子程序，這一過程也被稱為“收養”。在此需注意，雖然事實上該程序已有init作為其父程序，但由於建立該程序的程序已不存在，所以仍應稱之為“孤兒程序”。程序組.因為父程序終止或崩潰都會導致對應子程序成為孤兒程序，所以也無法預料一個子程序執行期間是否會被“遺棄”。有鑑於此，多數類UNIX系統都引入了程序組以防止產生孤兒程序：在父程序終止後，使用者的Shell會將父程序所在程序組標為“孤兒程序組”，並向終止的程序下屬所有子程序發出SIGHUP訊號，以試圖結束其執行，如此避免子程序繼續以“孤兒程序”的身份執行。遠端呼叫的情況.遠端過程呼叫過程中也會產生孤兒程序。例如，若客戶端程序在發起請求後突然崩潰，且對應的伺服器端程序仍在執行，則該伺服器端程序就會成為孤兒程序。這樣的孤兒程序會浪費伺服器的資源，甚至有耗盡資源的潛在危險，但也有對應的解決辦法：“孤兒程序”的應用.除此之外，使用者也可能會刻意使程序成為孤兒程序，以使之與使用者會話脫鉤，並轉至後臺執行。這一做法常應用於啟動需要長時間執行的程序，也即守護程序。另外，UNIX命令nohup也可以完成這一操作。
metadata: erhwenkuo/wikipedia-zhtw
metadata: 孤兒程序
metadata: https://zh.wikipedia.org/wiki?curid=3237098