自動清理殭屍程序及STOP程序指令碼

2022-07-15 16:48:10 字數 1227 閱讀 2185

#!/bin/bash

echo

"##############殭屍程序##############

"check=`ps -a -o stat,ppid,pid,cmd | grep -e '

^[zz]'`

if [ -n "

$check

"];then

echo

"發現殭屍程序!

"for pid in `ps -a -o stat,ppid,pid,cmd | grep -e '

^[zz]

' |awk ''`

do`kill -9

$pid`

done

check1=`ps -a -o stat,ppid,pid,cmd | grep -e '

^[zz]'`

if [ -n "

$check1

"];then

echo

"未能殺掉殭屍程序,請選擇是否殺死父程序!

"read -p "

請輸入y/n: "x

fiif [ $x==y ]; then

echo

"正在執行殺死父程序!

"for ppid in `ps -a -o stat,ppid,pid,cmd | grep -e '

^[zz]

' |awk ''`

do`kill -9

$ppid`

done

elif [ $x==n ]; then

break

fielse

echo

"未發現殭屍程序!"fi

echo

"##############stop程序##############

"check_t=`ps -a -o stat,ppid,pid,cmd | grep -e '

^[t]'`

if [ -n "

$check_t

"];then

echo

"發現stop程序!

"for pidone in `ps aux |grep -w t |grep -v grep |awk ''`

do`ps -ef |grep $pidone |grep defunct |awk ''`

done

else

echo

"未發現stop程序!

"fi

Linux 如何清理殭屍程序

今天在維護伺服器的時候,發現有5個nova novncproxy的殭屍程序。定義 in unix system terminology,a process that has terminated,but whose parent has not yet waited for it,is called...

linux系統清理殭屍程序記錄

在unix 系統中,乙個程序結束了,但是他的父程序沒有等待 呼叫wait waitpid 他,那麼他將變成乙個殭屍程序.在fork execve 過程中,假設子程序結束時父程序仍存在,而父程序fork 之前既沒安裝sigchld訊號處理函式呼叫 waitpid 等待子程序結束,又沒有顯式忽略該訊號,...

殭屍程序的查詢及殭屍程序的kill

首先我們來看看什麼是殭屍程序 之前的學習過程中時這樣理解殭屍程序的 子程序先於父程序退出,並將退出原因保留在pcb中,因此退出後不會自動釋放所有資源,子程序退出後作業系統會通知父程序子程序退出了,你去獲取一下原因,再完全釋放子程序資源。若父程序不管子程序的退出狀態,則該子程序為了儲存退出原因而將進入...