Linux學習筆記——判斷java進程是否存在,不存在則啓動

PCOUNT=`ps -ef|grep java|grep -v -grep|wc -l`

echo PCOUNT=${PCOUNT}

if [ ${PCOUNT} -ne 0 ]; then
    echo "Process is running!"
else
    echo "Starting process..."
    sh ./start.sh
fi

其中,wc(Word Count)命令的功能爲統計指定文件中的字節數、字數、行數,並將統計結果顯示輸出

-l :統計行數:使用換行符‘\n’作爲行結束標誌,實際是統計換行符個數

grep -v -grep :去除包含grep的進程行

-ne :(not equal)不等於

如果需要查看某個java進程,把java替換成對應的進程名稱。例如:

ps -ef|grep myprocess|grep -v -grep|wc -l

不過這樣會出現如果有其他進程能跟這個進程名稱模糊匹配,也會查出當做是這個進程

例如:前面執行了一個命令:tail -f myprocess.out

雖然myprocess進程沒有啓動,但是此時執行

ps -ef|grep myprocess|grep -v -grep|wc -l

也會統計出一個進程,一直沒搞懂如何判斷某個執行進程是否存在,希望大佬們給點建議,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章