Linux中殭屍程式是什麼意思?怎麼檢視殭屍程式?

老男孩IT教育機構發表於2022-10-18

  程式就是系統執行中的程式。是正在執行的一個程式或者命令,每一個程式都是一個執行的實體,都有自己的地址空間,並佔用一定的系統資源。說起程式,那麼你知道Linux中殭屍程式指什麼嗎?本文為大家講解一下。

  殭屍程式是當子程式比父程式先結束,而父程式又沒有回收子程式,釋放子程式佔用的資源,此時子程式都將成為一個殭屍程式。如果父程式先退出,子程式被init接管,子程式退出後init會收回其佔用的相關資源。

  我們都知道程式的工作原理。我們啟動一個程式,開始我們的任務,然後等任務結束了,我們就停止這個程式。程式停止後,該程式就會從程式表中移除。

  你可以透過System-Monitor檢視當前程式。

  In UNIX System terminology, a process that has terminated,but whose parent has not yet waited for it, is called a zombie.在Unix系統中,一個程式結束了,但是它的父程式沒有等待它,那麼它將變成一個殭屍程式。但是如果該程式的父程式已經先結束了,那麼該程式就不會變殭屍程式,因為每個程式結束的時候,系統都會掃描當前系統中所執行的所有程式,看有沒有哪個程式是剛剛結束的這個程式的子程式,如果是的話,就由init來接管他,成為他的父程式。

  怎麼檢視殭屍程式?

  利用命令ps,可以看到有父程式ID為1的程式是孤兒程式;s狀態為z的是殭屍程式。

  注意:孤兒程式是尚未終止但已停止的程式,但其父程式已經終止,由init收養;而殭屍程式則是已終止的程式,其父程式不一定終止。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2919068/,如需轉載,請註明出處,否則將追究法律責任。

相關文章