shell判斷進程是否存在,不存在則啓動

需求:有時候在調用非本系統下面的服務時,需要先判斷一下該服務是否已啓動,如果沒有的話則進行啓動

這時候可以用到下面的範例,shell腳本

ps -ef | grep ProcessString | grep -v grep
if [ $? -ne 0 ]
then
dosomething to start
else
echo "runing"
fi

ps命令裏面的ProcessString 是能唯一定位該進程的字符串

grep -v grep 是忽略掉grep本身的進程顯示

$? 是上一個函數的返回值

-ne 表示不等於

ps命令如果有結果的話,$?的值就不爲0,否則等於0

 

注意點:

    1、if後面的[]  要特別注意空格,不然命令就會報錯

發佈了13 篇原創文章 · 獲贊 5 · 訪問量 1549
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章