shell指令碼(管理守護程序)

2022-02-15 14:12:37 字數 1209 閱讀 8322

工作中常常會遇到處理訊息佇列的消費者程序,這樣的程序是乙個守護程序,即乙個服務。服務通常寫個shell指令碼來管理,查詢服務的status  ,啟動start 關閉stop  重啟reload。最近在學習shell,也模仿寫了乙個簡單的服務管理指令碼

首先貼出模擬的守護程序服務,php程式,命名demo.php

<?php

while(true)

?>

這是乙個死迴圈,不停的輸出。

管理的shell指令碼如下

#!/bin/bash

demo_script='/home/tianquanjun/study/service/demo.php' #服務指令碼

demo_log='/home/tianquanjun/study/service/demo.log' #服務執行日誌

#判斷程式是否已經在執行

status_script()'`

if [ $ ]

then

echo $'在執行中'

return 1

else

echo $0'未啟動'

return 2

fi}#啟動指令碼,先判斷指令碼是否已經在執行

start_script()' 已經在執行中了'

else

echo '啟動'$'中...'

nohup /usr/bin/php $>$ &

echo '啟動完畢'

fi}#停止指令碼

stop_script()' 不是執行狀態'

else

dokill -term $ >/dev/null 2>&1

done

echo '停止完畢'

fi}#重啟指令碼

reload_script()

#入口函式

handle() 'status|start|stop|restart';

;;esac

}if [ $# -eq 1 ]

then

handle $1

else

echo 'usage of this server is '$ 'status|start|stop|restart';

fi

利用 ./demo.sh  status|start|stop|reload 來管理

由於守護程序容易死掉,所以我們也經常在ctontab中加入 定時重啟任務

Linux守護程序Shell指令碼

服務端程式一般需要長期後台穩定執行,除了保證程式本身的健壯外,還需要用到一些守護程式。現分享乙個簡單的shell指令碼的方式 bin sh 程序名字可修改 pro name rails cmd nohup bundle exec rails server webrick p3000 b 0.0.0....

Linux守護程序Shell指令碼

服務端程式一般需要長期後台穩定執行,除了保證程式本身的健壯外,還需要用到一些守護程式。現分享乙個簡單的shell指令碼的方式 bin sh 程序名字可修改 pro name rails cmd nohup bundle exec rails server webrick p3000 b 0.0.0....

用shell寫守護程序指令碼

乙個udhcpd與udhcpc的守護,目前只會用shell模仿編寫,還有什麼方法可以做守護呢?bin sh 程序名字可修改 pro name udhcpc wlan ra0 while true do 用ps獲取 pro name程序數量 num ps aux grep grep v grep wc...