服務端程式一般需要長期後台穩定執行,除了保證程式本身的健壯外,還需要用到一些守護程式。
現分享乙個簡單的shell指令碼的方式:
#! /bin/sh
#程序名字可修改
pro_name=rails
cmd="nohup bundle exec rails server webrick -p3000 -b 0.0.0.0 -e production >/dev/null 2>&1 -d &"
while true ; do
#用ps獲取$pro_name程序數量
num=`ps aux | grep -w $ | grep -v grep |wc -l`
#echo $num
#少於1,重啟程序
if [ "$" -lt "1" ];then
echo "$ was killed"
$cmd
#大於1,殺掉所有程序,重啟
elif [ "$" -gt "1" ];then
echo "more than 1 $,killall $"
killall -9 $pro_name
$cmd
fi#kill殭屍程序
num_stat=`ps aux | grep -w $ | grep t | grep -v grep | wc -l`
if [ "$" -gt "0" ];then
killall -9 $
$cmd
fisleep 5s
done
exit 0
指令碼儲存為 ***.sh
設定指令碼執行許可權 chmod 777 ***.sh
控制台執行則:./***.sh 這樣就會保證始終存在乙個***x程式的執行。
需要後台持續執行則:nohup ./***.sh &
linux利用shell實現守護程序的指令碼
在遊戲開發領域,伺服器宕機那是家常便飯。本文簡單介紹如何利用linux的shell指令碼實現簡單的守護程序。bin sh 新增本地執行路徑 export ld library path while true do 啟動乙個迴圈,定時檢查程序是否存在 server ps aux grep center...
linux利用shell實現守護程序的指令碼
原 2016年07月26日 15 13 03 簾捲西風 閱讀數 12466 標籤 shell 伺服器 遊戲開發 linux 守護程序 更多 個人分類 遊戲開發 系統運維 所屬專欄 遊戲伺服器開發專欄 在遊戲開發領域,伺服器宕機那是家常便飯。本文簡單介紹如何利用linux的shell指令碼實現簡單的守...
linux程式守護程序(shell)
使用shell每秒檢測一次程式是否在執行,如果沒有執行則自動啟動程式 bin bash 配置檔案路徑 configfile 1 config settings.ini slash restartlog daemon shopt s expand aliases alias datetime date...