linux下kill -9 pid 強制不能殺掉程序
阿新 • • 發佈:2019-01-05
Question
linux下kill -9 pid 強制不能殺掉某個程序原因
Answer
解決辦法: 貌似沒用好的解決辦法, 重啟電腦reboot一下吧.
Reference
今天安裝叢集的時候,發現一個程序一直存在,kill -9 pid 也幹不掉,就找找原因了。
kill -9傳送SIGKILL訊號將其終止,但是以下兩種情況不起作用:
a、該程序處於”Zombie”狀態(使用ps命令返回defunct的程序)。此時程序已經釋放所有資源,但還未得到其父程序的確認。”zombie”程序要等到下次重啟時才會消失,但它的存在不會影響系統性能。
b、 該程序處於”kernel mode”(核心態)且在等待不可獲得的資源。處於核心態的程序忽略所有訊號處理,因此對於這些一直處於核心態的程序只能通過重啟系統實現。程序在AIX 中會處於兩種狀態,即使用者態和核心態。只有處於使用者態的程序才可以用“kill”命令將其終止。
用top命令檢視發現zombie程序數是0,看來這三個程序不屬於殭屍程序,應該是b這中情況,就是這些程序進入核心態等待磁碟資源時出現磁碟空間不足的故障,這時我強制關閉了資料庫,所以這幾個程序就一直處於核心態無法被殺除,看來只能重啟了。