使用 Shell script 檢查 process 是否執行中
除了各式高階語言以外,
一些簡單的判別或者執行命令可透過 Shell script 方式做到,
今天的範例:
使用 Shell script 檢查 process 是否執行中
在系統執行一個或一個以上的命令,
一個一個執行的話太沒有效率,
這時就能夠透過 Shell script 方式來執行,
例如之前提到過的 Django 排程工具 Django-Q 套件,
必須在系統執行
python manage.py qcluster
才能夠正常運作的話,
就能夠以 Shell script 的方式加入 Cron Jobs 中,
當然重複執行程式是會出現錯誤訊息的,
這時就能夠在 script 檔案中加入判別式,
#!/bin/sh if ps ax | grep 'manage.py qcluster' then echo "qcluster service running, everything is fine" else echo "qcluster is not running" source 虛擬環境路徑/cms/3.7/bin/activate && cd 專案路徑/cms python manage.py qcluster& fi
這段程式碼是透過內建的 ps ax 得到所有執行中的 process,
再以 grep 擷取相關的字串,
此範例是以 if 來作判別,
如果程式執行中就顯示
檢查 qcluster 是否已經執行中就顯示:
"qcluster service running, everything is fine"
否則就執行虛擬環境與程式碼:
python manage.py qcluster
至於執行的方式有許多種,
以
sh start.sh
或
bash start.sh
或者
source start.sh
都是執行 Shell script 的方法,
至於以
./start.sh
方式執行的話,
須先給予檔案執行的權限:
chmod +x start.sh
================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================