Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 重新启动应用程序的Bash脚本_Linux_Bash_Ubuntu_Sh - Fatal编程技术网

Linux 重新启动应用程序的Bash脚本

Linux 重新启动应用程序的Bash脚本,linux,bash,ubuntu,sh,Linux,Bash,Ubuntu,Sh,您能否帮助我创建bash(或sh)脚本,它将启动应用程序(/newserver),并且每小时将终止此应用程序(发送信号)并重新启动 它还应该检查应用程序是否工作,如果不工作,重新启动,以防应用程序崩溃等情况 对于linux ubuntu将服务器启动脚本放入/etc/inittabinit,如果它死掉,init将生成它 将服务器启动脚本放入/etc/inittabinit,如果它死掉,init将生成它 正如人们已经指出的,这不是处理脚本错误的最佳方法。不过,我想你有特殊的理由需要这个 #!/bin

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

它还应该检查应用程序是否工作,如果不工作,重新启动,以防应用程序崩溃等情况


对于linux ubuntu

将服务器启动脚本放入
/etc/inittab
init,如果它死掉,init将生成它

将服务器启动脚本放入
/etc/inittab
init,如果它死掉,init将生成它

正如人们已经指出的,这不是处理脚本错误的最佳方法。不过,我想你有特殊的理由需要这个

#!/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

正如人们已经指出的,这不是处理脚本错误的最佳方法。不过,我想你有特殊的理由需要这个

#!/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

您在哪个操作系统下运行脚本(我要求您推断“at”命令将具有的选项)为什么?它是一个有缺陷的服务器吗?服务器不应该被杀掉你的问题太狭隘了。这里发布的答案旨在帮助其他有类似问题的人。在这里,你或多或少地要求人们为你完成全部工作。@SkippyFastol谢谢你的回答。在UbuntuLinuxBTW上,看一看
cron
守护进程,它应该可以完成你每小时的工作。您的请求的其余部分只是在脚本文件中的一行中写入命令。您在哪个操作系统下运行脚本(我要求您推断您的“at”命令将具有的选项)为什么?它是一个有缺陷的服务器吗?服务器不应该被杀掉你的问题太狭隘了。这里发布的答案旨在帮助其他有类似问题的人。在这里,你或多或少地要求人们为你完成全部工作。@SkippyFastol谢谢你的回答。在UbuntuLinuxBTW上,看一看
cron
守护进程,它应该可以完成你每小时的工作。请求的其余部分只是在脚本文件中的一行中写入命令。