先日書いたシェルスクリプトでプロセスを監視し自動実行&自動killのシェルスクリプトは、その後結局使わず、さらに簡易的なコードで済ませました。
クエリーサーバのチェックスクリプト
scheckp.sh
#!/usr/bin/sh while true do isAliveSev=`ps -ef | grep "/server" | grep -v grep | wc -l` if [ $isAliveSev = 1 ]; then echo "o:server process" else echo "x:server process" /ret/sev/server & fi sleep 300 # モニター間隔(秒単位) done
エンジンサーバのチェックスクリプト
echeckp.sh
#!/usr/bin/sh while true do isAliveEng=`ps -ef | grep "/engine" | grep -v grep | wc -l` if [ $isAliveEng = 1 ]; then echo "o:engine process" else echo "x:engine process" /ret/eng/engine & fi sleep 300 # モニター間隔(秒単位) done