需求:有時候在調用非本系統下面的服務時,需要先判斷一下該服務是否已啓動,如果沒有的話則進行啓動
這時候可以用到下面的範例,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後面的[] 要特別注意空格,不然命令就會報錯