保持 Linux 机器上的进程运行

保持 Linux 机器上的进程运行

我为我的公司编写了一个服务器程序,现在我想让它在 ubuntu 服务器上运行。

我正在考虑设置一个 cronjob 来每周重启一次整个系统(出于安全目的,在发生内存泄漏时清除 RAM,但我还没有发现......等等)但我不确定应该如何保持这个过程。

现在我正在做一个

screen
./launch_server

并将其分离。这是在服务器上运行 web 公开程序的好方法吗?出于某种原因,我是否需要 daemontools 或 runit 之类的东西?

答案1

您的问题实际上是两个问题的结合:

  1. 如何在启动时运行程序?

使用暴发户或者systemd(中的脚本/etc/init.d),具体取决于您的版本。

  1. 我该如何保持它继续运行?

最简单的方法是添加一个 cron 作业,检查进程名称是否处于运行状态,如果不是,则重新启动它。我会补充一点,当它发现这种情况时,它会向您发送电子邮件,这样如果系统发生了某些事情并反复将其杀死,您就会知道。如果程序还没有带时间戳的日志记录,我还会添加它,这样您就可以记录这些事件发生的时间。

如果可能的话,还应记录导致程序死机的信号或条件,以便可以防止这种情况发生。您甚至可以考虑将程序日志添加到自动电子邮件中。

相关内容