Linux守護程序Shell指令碼

2021-09-27 11:30:36 字數 926 閱讀 7507

服務端程式一般需要長期後台穩定執行,除了保證程式本身的健壯外,還需要用到一些守護程式。

現分享乙個簡單的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...