先建一個shell腳本proxy.sh:java
#!/bin/sh while : do javapro=$(ps -ef |grep "D8888" |grep -v "grep") if [ ! "$javapro" ] ; then # do something # echo "down, restart it." ~/proxy_expect fi sleep 300 done
腳本是一個死循環,每隔5分鐘會從新檢測一下java的進程,若是找不到,就使用命令重啓,或調用其餘腳本重啓。shell
如我這裏因爲要使用ssh來啓動一個代理,因此寫了一個expect交互腳本:ssh
#!/usr/bin/expect set password "password" spawn ssh -2 -Nf -g -D8888 expect "password:" {send "$password\r"} expect eof
最後再啓動shell腳本:sh proxy.sh &spa