先建一个shell脚本proxy.sh:
#!/bin/shwhile :do javapro=$(ps -ef |grep "D8888" |grep -v "grep") if [ ! "$javapro" ] ; then # do something # echo "down, restart it." ~/proxy_expect fi sleep 300done
脚本是一个死循环,每隔5分钟会重新检测一下java的进程,如果找不到,就使用命令重启,或调用其他脚本重启。
如我这里由于要使用ssh来启动一个代理,所以写了一个expect交互脚本:
#!/usr/bin/expectset password "password"spawn ssh -2 -Nf -g -D8888 expect "password:" {send "$password\r"}expect eof
最后再启动shell脚本:sh proxy.sh &