在 CentOS 系统中,可以使用 systemd 来管理和监控进程,实现进程的自动重启
- 创建一个新的 systemd 服务单元文件。以您的应用程序为例,例如名为 myapp 的服务,您可以在
/etc/systemd/system/
目录下创建一个名为myapp.service
的文件。使用文本编辑器打开该文件,如vi
或nano
:
sudo vi /etc/systemd/system/myapp.service
- 将以下内容粘贴到
myapp.service
文件中,根据您的实际情况进行修改:
[Unit] Description=MyApp Service After=network.target [Service] User=myuser WorkingDirectory=/path/to/your/app ExecStart=/path/to/your/app/myapp Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
Description
:服务的描述。User
:运行应用程序的用户。WorkingDirectory
:应用程序的工作目录。ExecStart
:启动应用程序的命令。Restart
:设置重启策略,这里我们设置为 always,表示始终重启。RestartSec
:重启间隔时间,单位为秒。
-
保存并关闭文件。
-
重新加载 systemd 配置,使新的服务单元文件生效:
sudo systemctl daemon-reload
- 启动新创建的服务:
sudo systemctl start myapp
- 设置服务开机自启:
sudo systemctl enable myapp
现在,如果您的应用程序因为任何原因崩溃或停止运行,systemd 将自动重启它。您可以通过以下命令查看服务状态:
sudo systemctl status myapp