Linux中殺不死的程序

2022-07-04 17:09:07 字數 1652 閱讀 1147

前段時間,一哥們,去殺linux伺服器的程序,發現kill命令失靈了,怎麼殺都殺不死。

然後上網查了下資料,原來是要被殺的程序,成為了殭屍程序。

殭屍程序的檢視方法:

利用命令ps,可以看到有標記為z的程序就是殭屍程序。

知道了原因,就想怎麼去把這個殭屍程序乾掉。網上說了兩種方法,一種最簡單的方法,重啟伺服器,相當於清理記憶體了。方法很簡單,但是不是很實用,因為伺服器,不是你乙個人在用,伺服器是不能隨隨便便重啟的。第二種方法,殺掉其父程序,父程序乾掉後,該殭屍程序也就消失了。

可以用  ps -ef | grep  程序id ,找到其父程序,然後 kill -9 父程序id

其中ps命令:

user:該 程序 屬於哪個使用者

pid:該 程序 的id。

• %cpu:該 程序 使用掉的cpu資源百分比;

• %mem:該 程序 所占用的物理記憶體百分比;

vsz:該 程序 使用掉的虛擬記憶體量 (kbytes)

rss:該 程序 占用的固定的記憶體量 (kbytes)

tty:該 程序 是在哪個終端機上面運作,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程式,若為 pts/0等等的,則表示為由網路連線進主機的程式。

stat:該程式目前的狀態,主要的狀態有:

or:該程式目前正在運作,或者是可被運作;

os:該程式目前正在睡眠當中 (可說是 idle 狀態啦!),但可被某些訊號 (signal) 喚醒。

ot:該程式目前正在偵測或者是停止了;

oz:該程式應該已經終止,但是其父程式卻無法正常的終止他,造成 zombie (疆屍) 程式的狀態

start:該 程序被觸發啟動的時間;

time:該 程序 實際使用cpu運作的時間。

command:該程式的實際指令為何

Android 殺不死的程序

首先,正常下,當我們退出程式或手動殺死後,我們的程式就停止執行了。或者不退出在後台執行時,使用360加速球清理時,也會殺死我們的程序。個人理解360加速時,把不被新增信任的程序用乙個for迴圈,在迴圈裡乙個個的kill。於是有了一種思路,在我們應用中開啟兩個程序,當乙個程序被殺死時,另外乙個程序啟動...

殺不死的Service

專案需要,這兩天研究了一下service 1 onstartcommand 中 return start stick 2 onstartcommand 中 startforeground 3 ondestroy 中 startservice 4 註冊broadcastreceiver 監聽系統廣播 ...

Android中的程序保活(不死程序)

android中的程序保活方式主要分為以下三種 白色保活 啟動前台service 灰色保活 利用系統的漏洞啟動前台service 黑色保活 白色保活灰色保活 這種保活手段是應用範圍最廣泛。它是利用系統的漏洞來啟動乙個前台的service程序,與普通的啟動方式區別在於,它不會在系統通知欄處出現乙個no...