使用shell脚本自动监控后台进程,并能自动重启

先建一个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

相关文章
相关标签/搜索