在我的RHEL 6.7虛擬機數量的殭屍進程正在增加時間。殭屍沒有消耗任何內存或CPU,但我看到他們使用頂級命令。 我使用#kill -9 PID和#kill -SIGCHLD PID,但沒有任何反應。殭屍進程沒有被清理
我試圖#kill -9 4650和#kill -SIGCHLD 4650.(4650是PPID)也試圖殺死孩子。同時殺死小孩它顯示沒有錯誤。同時殺死父母它顯示「操作未被允許」
在我的RHEL 6.7虛擬機數量的殭屍進程正在增加時間。殭屍沒有消耗任何內存或CPU,但我看到他們使用頂級命令。 我使用#kill -9 PID和#kill -SIGCHLD PID,但沒有任何反應。殭屍進程沒有被清理
我試圖#kill -9 4650和#kill -SIGCHLD 4650.(4650是PPID)也試圖殺死孩子。同時殺死小孩它顯示沒有錯誤。同時殺死父母它顯示「操作未被允許」
父進程不是「拖」它們。父進程應該調用wait系統調用。
一個快速解決方案是殺死父進程。然後他們成爲孤兒,並將從top
消失,因爲init
將排序問題。
在嘗試以root身份終止父進程時,它顯示「操作不允許」 –
您試圖終止作爲殭屍進程的父進程(不是'init')的進程 –
root 17597 4650 0 Apr11? 00:00:00 [seosd]
它們不佔用內存或cpu,因爲殭屍進程只是一個進程狀態記錄而沒有與其關聯的實際進程。它被留下,以便父進程可以找出子進程的退出代碼。除非你是父程序程序的作者,並且打算修正它,否則試圖使它們消失是沒有多大益處的。
聽起來像它卡住的是不間斷系統調用。我會運行'strace'並試圖找出坐在哪裏。 – bluerojo
或者你的不是root,這個進程是由root擁有的。 – bluerojo