如何编写一个SHELL脚本,然后在发现我的程序DOWN掉之后,运行我的另一个JAVA程序。
--------------------------------code ---------------------------------
#!/bin/sh
# Author: cold night
# Filename: monitor.sh
# 从命令行获取进程名, 也可以自己加上要监控的进程名称.
ProcessName=$1
# 定义检查频率(多少秒检查一次)
Frequency = 30
# 开始一个无限循环
while true
do
# 检查进程是否在进行
if [[ -n `ps aux | grep $ProcessName | grep -v grep` ]]
then
# 是的话进入睡眠30秒(这个可以定义你的检查频率)
sleep $Frequency
else
# 如果不在运行则运行下面命令(可以把你的Java程序给一个可执行权限,然后
# 把下面替换成你的java程序所在的绝对路径
echo "$1 is stopped..."
sleep 60 # 如果程序一直down掉则每隔多长时间检查一次.
fi
done
--------------------------------code ---------------------------------
我检查一个bind DNS服务的进程,进程的名字是named.