最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Shell腳本判斷進程是否存在的實現(xiàn)示例

 更新時間:2023年06月20日 10:05:51   作者:獨步秋風  
本文主要介紹了Shell腳本判斷進程是否存在的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

背景

需要一個shell 腳本檢測一下進程是否存在,如果存在則直接kill 掉

問題處理

查看進程id

ps -ef|grep node_exporter|grep -v grep|awk '{print $2}'

如果應用進程是存在的且只有一個進程,在腳本中打印會發(fā)現(xiàn)有三個進程id,其中有兩個進程是用不到的,且多出來的兩個進程id和當前腳本子進程相關,為什么會有兩個無關的進程id呢?理論上來講主機上只有這一個關鍵詞的進程,排查發(fā)現(xiàn)是因為定義的腳本名稱包含了node_exporter所導致。

知識點補充

shell腳本在執(zhí)行時,會啟動子shell的進程。作為主shell的子進程,子shell將shell腳本中的命令作為批處理運行(因此稱為“批處理進程”)。

在bash中,子shell進程的PID存儲在一個特殊的變量‘$$’中。這個變量只讀,你不可以在腳本中修改它。

除了$$, bash shell還會導出其他的只讀變量。比如,PPID存儲子shell父進程的ID(也就是主shell)。UID存儲了執(zhí)行這個腳本的當前用戶ID

echo $PPID
echo UID

解決方法

優(yōu)化獲取進程id方式

ps -ef|grep node_exporter|grep -v grep|grep -v $$|awk '{print $2}'

這樣獲得的進程就會過濾掉當前腳本的進程,問題處理

腳本偽代碼供參考

# 檢查 node_exporter 進程是否存在,存在則直接kill 掉
check_node_exporter_status(){
echo "check node exporter status start "
node_exporer_proc=`ps -ef|grep node_exporter|grep -v grep|grep -v $$|awk '{print $2}'`
if [[ $node_exporer_proc != "" ]]; then
echo "node_exporter process id is $node_exporer_proc"
sudo kill $node_exporer_proc
fi
echo "check node exporter status end "
}

到此這篇關于Shell腳本判斷進程是否存在的實現(xiàn)示例的文章就介紹到這了,更多相關Shell判斷進程存在內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • ubuntu中root和普通用戶切換方法(推薦)

    ubuntu中root和普通用戶切換方法(推薦)

    下面小編就為大家?guī)硪黄猽buntu中root和普通用戶切換方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 遠程SSH連接服務與基本排錯經(jīng)驗總結

    遠程SSH連接服務與基本排錯經(jīng)驗總結

    下面小編就為大家?guī)硪黄h程SSH連接服務與基本排錯經(jīng)驗總結。小編覺得聽不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • Linux nano命令使用示例

    Linux nano命令使用示例

    nano是一個小型、免費、友好的編輯器,旨在取代非免費Pine包中的默認編輯器Pico,nano是一個字符終端的文本編輯器,有點像DOS下的editor程序,這篇文章主要介紹了Linux nano命令使用示例,需要的朋友可以參考下
    2023-03-03
  • Shell中sed編輯器的具體使用

    Shell中sed編輯器的具體使用

    sed是一種流編輯器,sed編輯器可以根據(jù)命令來處理數(shù)據(jù)流中的數(shù)據(jù),本文就來介紹一下Shell中sed編輯器的具體使用,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Shell腳本判斷IP地址是否合法的方法

    Shell腳本判斷IP地址是否合法的方法

    這篇文章主要介紹了Shell腳本判斷IP地址是否合法的方法,需要的朋友可以參考下
    2014-03-03
  • Shell獲取文件的文件名和擴展名的例子

    Shell獲取文件的文件名和擴展名的例子

    這篇文章主要介紹了Shell獲取文件的文件名和擴展名的例子,簡明版的代碼實例,看了就懂,需要的朋友可以參考下
    2014-06-06
  • Linux 命令每天必學(34)之du命令

    Linux 命令每天必學(34)之du命令

    Linux du命令是查看使用空間的,本文給大家介紹linux du命令的參數(shù),格式,功能等相關資料,對linux du命令感興趣的朋友一起學習吧
    2015-11-11
  • 執(zhí)行shell 腳本將日志全部輸出到文件的多種方法

    執(zhí)行shell 腳本將日志全部輸出到文件的多種方法

    執(zhí)行Shell腳本時,可將所有輸出(stdout+stderr)重定向到日志文件,方法包括直接重定向(> 2>&1)、追加模式(>>)、tee命令(屏幕+文件)、腳本內重定向(exec)及l(fā)ogger系統(tǒng)日志,推薦方法1或2,結合logrotate管理日志大小
    2025-07-07
  • linux定時器crontab的使用教程

    linux定時器crontab的使用教程

    這篇文章主要介紹了linux定時器crontab的使用教程,需要的朋友可以參考下
    2018-08-08
  • shell結合expect寫的批量scp腳本工具

    shell結合expect寫的批量scp腳本工具

    expect用于自動化地執(zhí)行l(wèi)inux環(huán)境下的命令行交互任務,例如scp、ssh之類需要用戶手動輸入密碼然后確認的任務。有了這個工具,定義在scp過程中可能遇到的情況,然后編寫相應的處理語句,就可以自動地完成scp操作了
    2013-02-02

最新評論

仙居县| 大英县| 英吉沙县| 阳山县| 苍梧县| 离岛区| 姚安县| 长岭县| 安庆市| 上饶县| 清丰县| 阜康市| 高阳县| 盐城市| 齐齐哈尔市| 大竹县| 仪陇县| 肥西县| 邯郸市| 台南县| 贞丰县| 金塔县| 雅安市| 东乌珠穆沁旗| 类乌齐县| 儋州市| 新巴尔虎左旗| 阿尔山市| 涿州市| 梁山县| 新沂市| 凤庆县| 沂水县| 绵阳市| 宿州市| 罗甸县| 曲周县| 浦县| 高雄县| 淅川县| 建阳市|