今天安裝集群的時候,發現一個進程一直存在,kill -9 pid 也干不掉,就找找原因了。
kill -9發送SIGKILL信號將其終止,但是以下兩種情況不起作用:
a、該進程處於"Zombie"狀態(使用ps命令返回defunct的進程)。此時進程已經釋放所有資源,但還未得到其父進程的確認。"zombie"進程要等到下次重啟時才會消失,但它的存在不會影響系統性能。
b、 該進程處於"kernel mode"(核心態)且在等待不可獲得的資源。處於核心態的進程忽略所有信號處理,因此對於這些一直處於核心態的進程只能通過重啟系統實現。進程在AIX 中會處於兩種狀態,即用戶態和核心態。只有處於用戶態的進程才可以用“kill”命令將其終止。
用top命令查看發現zombie進程數是0,看來這三個進程不屬於僵屍進程,應該是b這中情況,就是這些進程進入核心態等待磁盤資源時出現磁盤空間不足的故障,這時我強制關閉了數據庫,所以這幾個進程就一直處於核心態無法被殺除,看來只能重啟了。
