1

你能帮我创建bash(或sh)脚本,它将启动应用程序(./newserver)并且每小时都会杀死这个应用程序(发送信号)并重新启动。

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

对于 linux ubuntu

4

2 回答 2

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
于 2013-01-17T18:31:42.287 回答
0

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

于 2013-01-17T18:26:52.527 回答