Shell腳本查詢進程存活信息


腳本代碼如下:

pid=`cat $2`

function status_job(){
    pcount=`ps -ef |grep $pid |grep -v grep |wc -l`
    if [ $pcount -ge 1 ]
    then
        pids=`ps -ef | grep "EntryPoint" | grep -v grep | awk '{print $2}'`
        arr=$(echo $pids|tr " " "\n")
        for x in $arr ; do
            if [ "$x" == $pid  ] ; then
                echo "任務還在運行..."
            fi
        done
    fi
}

function kill_job(){
  kill -9 $pid
}

if [ "$1" == "status" ]
then
    status_job
fi

if [ "$1" == "kill" ]
then    
    kill_job
fi

  

其中:grep -v grep 顯示查詢結果中m沒有匹配grep的行,即過濾到grep搜索進程的進程id,wc -l是判斷包含該進程id的進程有幾個,之后再借助進程id進程匹配。 

 

再例如:

 history | grep "mysql" |grep  -v "netstat"

  

查看歷史運行過的命令中包含mysql但是不包含netstat的所有歷史命令

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM