【问题标题】:Bash script to restart app [closed]用于重新启动应用程序的 Bash 脚本 [关闭]
【发布时间】:2013-01-01 07:45:22
【问题描述】:

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

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

对于 linux ubuntu

【问题讨论】:

  • 您在哪个操作系统下运行您的脚本(我要求它推断您的“at”命令将具有的选项)
  • 为什么?它是一个有问题的服务器吗?服务器不应该被杀死
  • 您的问题对于 SO 来说太窄了。此处发布的答案旨在帮助有类似问题的其他人。在这里,您或多或少要求人们为您完成整个工作。
  • @SkippyFastol 谢谢你的回答。在 Ubuntu Linux 上
  • 顺便说一句,看看cron 守护进程,它应该做你的小时业务。您的请求的其余部分只是在脚本文件中连续编写命令。

标签: linux bash ubuntu sh


【解决方案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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-29
      • 1970-01-01
      • 2019-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多