Linux中如何殺掉殭屍進程
一:
最佳答案
1、使用top命令就可以查看到殭屍進程。
2、查看具體進程pid
#ps -A -o stat,ppid,pid,cmd |grep -e "^[Zz]"
說明:不是查不出殭屍進程,是因爲我重啓了系統,沒有殭屍進程。
3、殺死殭屍進程
#kill -9 pid號
二:
1、 檢查當前殭屍進程信息
# ps -ef | grep defunct | grep -v grep | wc -l175# top | head -2
top - 15:05:54 up 97 days, 23:49, 4 users, load average: 0.66, 0.45, 0.39
Tasks: 829 total, 1 running, 479 sleeping, 174 stopped, 175 zombie
# ps -ef | grep defunct | grep -v grep
2、獲得殺殭屍進程語句
# ps -ef | grep defunct | grep -v grep | awk '{print "kill -9 " $2,$3}'
執行上面獲得的語句即可, 使用信號量9, 殭屍進程數會大大減少.
3、過一會兒檢查當前殭屍進程信息
# ps -ef | grep defunct | grep -v grep | wc -l125# top | head -2
Tasks: 632 total, 1 running, 381 sleeping, 125 stopped, 125 zombie
發現殭屍進程數減少了一些, 但還有不少.
4、再次獲得殺殭屍進程語句
# ps -ef | grep defunct | grep -v grep | awk '{print "kill -18 " $3}'
執行上面獲得的語句即可, 這次使用信號量18殺其父進程, 殭屍進程應該會全部消失.
5、過一會兒再檢查當前殭屍進程信息
(法二:關閉進程,稍後再重啓也可殺掉殭屍進程)