使用 Shell script 檢查 process 是否執行中

首頁 >> google協作平臺 >> 使用 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 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

發表迴響