父程序先於子程序退出,此時子程序成為孤兒程序。
特點:####### 孤兒程序會被系統程序收養,此時系統程序就會成為孤兒程序新的父程序,孤兒程序退出該程序會自動處理。
子程序先於父程序退出,父程序又沒有處理子程序的退出狀態,此時子程序就會稱為殭屍程序。
特點:殭屍程序雖然結束,但是會存留部分pcb在記憶體中,大量的殭屍程序會浪費系統的記憶體資源。
殭屍程序的**演示:
import os,sys
pid=os.fork(
)if pid<0:
print
("error"
)elif pid==0:
#子程序執行完就退出了
print
("child
pid:",os.getpid())
sys.exit(
)else
:#父程序永遠不退出
while
true
:pass
殭屍程序和孤兒程序
殭屍程序 乙個子程序在其父程序還沒有呼叫wait 或waitpid 的情況下退出。這個子程序就是殭屍程序。孤兒程序 乙個父程序退出,而它的乙個或多個子程序還在執行,那麼那些子程序將成為孤兒程序。孤兒程序將被init程序 程序號為1 所收養,並由init程序對它們完成狀態收集工作。殭屍程序將會導致資源...
殭屍程序和孤兒程序
什麼是殭屍程序?乙個子程序在其父程序沒有呼叫wait 或waitpid 的情況下退出。這個子程序就是殭屍程序。如果其父程序還存在而一直不呼叫wait,則該殭屍程序將無法 等到父程序結束後,會被init 驗證 include include includeint main 3秒後查詢其程序資訊 通過上...
殭屍程序和孤兒程序
殭屍程序和孤兒程序 在unix系統程式設計中,常常會碰到兩個概念 僵死程序和孤兒程序 僵死程序 在unix程序模型中,程序是按照父程序產生子程序,子程序產生子子程序這樣的方式建立出完成各項相互協作功能的程序的。當乙個程序完成它的工作終止之後,它的父程序需要呼叫wait 或者waitpid 系統呼叫取...