重启应用程序的Bash脚本

时间:2013-01-17 17:26:58

标签: linux bash ubuntu sh

您能帮我创建 bash (或 sh )脚本,它将启动应用程序(./newserver)并且每小时都会终止此应用程序(发送信号)并重新开始。

还应检查应用程序是否正常工作,如果没有,请重新启动,以防应用程序崩溃等情况。

对于linux ubuntu

2 个答案:

答案 0 :(得分:1)

正如人们已经指出的那样,这不是处理脚本出错的最佳方法。但是我会假设您有特殊原因需要这个。

#!/bin/bash
while :; do
   ./newserver &
   pid=$!
   sleep 1h
   kill -n 9 $pid
done

至于检查它是否正常工作,您必须创建一些分析来识别它。我对你的剧本一无所知,但我怀疑你是否想在bash中尝试这样做。

除非“工作”,否则你只是意味着跑步,在这种情况下

#!/bin/bash
run_server () {
  while :; do
    ./newserver &
    pid=$!
    sleep 1h
    kill -n 9 $pid
  done
}
run_server &
while :; do
  if [ "$(kill -n 0 $pid 2>&1)" ]; then
    run_server &
  fi
done

答案 1 :(得分:0)

将您的服务器启动脚本放在/etc/inittab init中,如果它死了就会生成它。