婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Shell腳本實現查殺子進程、僵尸進程

Shell腳本實現查殺子進程、僵尸進程

熱門標簽:寧波智能外呼系統公司 地圖標注輻射圖案 申請公司400電話要注意什么 聯通電話機器人怎么接 電銷機器人 劍魚 衛星地圖標注地名 曲阜400電話辦理 奧維互動地圖標注參數 安裝外呼系統費用

核心服務器上跑了一堆的腳本、程序,難免有時候會出現僵尸進程,死不死活不活的在那里占用資源,最初只是寫了個根據關鍵字查殺進程的linux shell腳本,后來發現很多時候進程死在那里的時候其實是內部調用子進程的時候出現了問題,這時候光殺父進程根本沒解決根本問題。比如說rsync的時候通過ssh來連接,rsync本身沒問題,但可能ssh死掉了。因此重新寫了腳本,遞歸查找子進程。

復制代碼 代碼如下:

#!/bin/sh
# 遞歸找到導致進程僵死的最底層子進程并殺除.
ParentProcessID=$1;
if [ "x${ParentProcessID}" = "x" ] ; then
    echo "Please Supply the top Parent Process ID to be killed!"
    echo "Usage:sh $0 PID [-v]"
    echo "PID The Parent Process ID as root"
    echo "-v is this argument supplied,no real kill operation will be performed,only process tree be show."
    exit 1
fi

let IsRealKillDo=1;
if [ "x$2" = "x-v" ] ; then
    let IsRealKillDo=0;
fi

echo "Begin Kill the Leaf Process of process ${ParentProcessID}" >2

killpidList=""

function loopNextSubProcess(){
    local nParentProcessID=$1
    local tmpPidList=""
    tmpPidList=`ps -A --format='%p%PisParent' --width 2048 -w --sort pid|grep "${nParentProcessID}isParent"|grep -v grep|grep -v "$$" | awk '{ printf $1 }'`
    ps --format='%p%P%a' --width 2048 -w -p ${nParentProcessID}|grep -v grep|grep -v "$$" >2
    if [ "x${tmpPidList}" = "x" ] ; then
        echo "****Got One Leaf = [${nParentProcessID}]****" >2
        killpidList="${killpidList}\n${nParentProcessID}"
        return
    fi

    for theNextPid in ${tmpPidList} ; do
        loopNextSubProcess ${theNextPid}
    done
}

loopNextSubProcess ${ParentProcessID}

if [ ${IsRealKillDo} -eq 1 -a "x${killpidList}" != "x" ] ; then
    for curpid in `echo -e ${killpidList}` ; do
        if [ "x${curpid}" != "x" ] ; then
            echo "kill -9 ${curpid}"
            kill -9 ${curpid}
        fi
    done
else
    echo -e ${killpidList}
fi

標簽:江西 上饒 遵義 安康 仙桃 三門峽 大慶 大興安嶺

巨人網絡通訊聲明:本文標題《Shell腳本實現查殺子進程、僵尸進程》,本文關鍵詞  Shell,腳本,實現,查,殺子,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Shell腳本實現查殺子進程、僵尸進程》相關的同類信息!
  • 本頁收集關于Shell腳本實現查殺子進程、僵尸進程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 桑日县| 普洱| 汉源县| 镶黄旗| 衡东县| 大冶市| 福建省| 津南区| 马龙县| 博罗县| 民权县| 临颍县| 盱眙县| 文山县| 永泰县| 互助| 镇康县| 阳朔县| 老河口市| 阿拉善左旗| 甘孜| 全州县| 临朐县| 临安市| 册亨县| 汝城县| 波密县| 大英县| 柯坪县| 高陵县| 南部县| 建阳市| 桓台县| 衡水市| 锡林郭勒盟| 花垣县| 射阳县| 咸宁市| 盖州市| 华池县| 广丰县|