Linuxデーモンシェルシナリオ
1154 ワード
http://blog.csdn.net/special23/article/details/52690057
サービス端末のプログラムは長期的なバックグランドの安定運行が必要です。プログラム自体の丈夫さを保証する以外に、いくつかのデーモンプログラムが必要です。
簡単なシェルスクリプトの方法を共有します。
スクリプト実行権限chmod 777を設定します。 xxx.sh
コンソール実行則:/xxx.sh このようにして、常にxxxxプログラムの実行が保証されます。
バックグラウンドの継続運転が必要な場合:nohup ./xxx.sh&
サービス端末のプログラムは長期的なバックグランドの安定運行が必要です。プログラム自体の丈夫さを保証する以外に、いくつかのデーモンプログラムが必要です。
簡単なシェルスクリプトの方法を共有します。
#! /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 ${PRO_NAME} | grep -v grep |wc -l`
#echo $NUM
# 1,
if [ "${NUM}" -lt "1" ];then
echo "${PRO_NAME} was killed"
$CMD
# 1, ,
elif [ "${NUM}" -gt "1" ];then
echo "more than 1 ${PRO_NAME},killall ${PRO_NAME}"
killall -9 $PRO_NAME
$CMD
fi
#kill
NUM_STAT=`ps aux | grep -w ${PRO_NAME} | grep T | grep -v grep | wc -l`
if [ "${NUM_STAT}" -gt "0" ];then
killall -9 ${PRO_NAME}
$CMD
fi
sleep 5s
done
exit 0
スクリプトをxxx.shとして保存します。スクリプト実行権限chmod 777を設定します。 xxx.sh
コンソール実行則:/xxx.sh このようにして、常にxxxxプログラムの実行が保証されます。
バックグラウンドの継続運転が必要な場合:nohup ./xxx.sh&