解決Linux當中的Z(殭屍程序)

2021-10-03 00:10:50 字數 368 閱讀 4571

wait 等待程序

import os

os.wait()

放在else項,亦是父程序的函式範圍

使用二級子程序解決

父程序建立子程序,等待**子程序

子程序建立二級子程序然後退出

二級子程序稱為孤兒,和原來父程序一同執行事件

使用訊號處理,使子程序退出

import singel 子程序退出時會傳送訊號給父程序,如果父程序忽略子程序訊號,則系統就會自動處理子

程序退出 【signal.signal(signal.sigchld,signal.sig_ign)】

使用signal模組在父程序建立子程序前寫

可以在pid = os.fork() 前寫

Linux 殭屍程序 Z狀態 和孤兒程序

先了解下程序都有什麼狀態 程序狀態 就緒,阻塞,執行 linux下程序狀態 執行狀態 並不意味著程序一定在執行中,它表明程序在執行中,或在執行佇列裡 只要拿到時間片就能執行 可中斷休眠狀態 s 當前處於休眠狀態,但這種休眠可以被打斷 也稱睡眠狀態 不可中斷休眠狀態 d 當前處於休眠狀態,但這種休眠不...

Linux的殭屍程序解決攻略

1 產生原因 在unix 系統中,乙個程序結束了,但是他的父程序沒有等待 呼叫wait waitpid 他,那麼他將變成乙個殭屍程序。通過ps命令檢視其帶有defunct的標誌。殭屍程序是乙個早已死亡的程序,但在程序表 processs table 中仍佔了乙個位置 slot 但是如果該程序的父程序...

解決殭屍程序

linux下的殭屍程序,用kill 9 都不會消失,下面有一種辦法可以解決此問題 前些天發現有crontask程序死掉了,狀態為z,表明是殭屍程序了。通過下面的步驟可以解決它 1.用pstree命令查詢其父程序 5124 ss 0 00 crond 8884 s 0 00 crond 8893 zs...