前言
在linux中如何监测一个进程,并且在进程挂了的时候可以重启
一、使用linux的自带的systmd工具
具体是啥可以百度
二、使用步骤
1.创建文件
代码如下(示例):
- 在/etc/systmd/system/目录下面创建类似的软链接,链接到/lib/systemd/system/目录下
ln -fs /lib/systemd/system/sd_webui_restart.service sd_webui_restart.service
- 编辑该.service 文件
[Unit]
Description=sd_webui restart Program
After=network.target
[Service]
ExecStart=/home/test/test/run_sd_webui.sh
Restart=always
User=test
Group=test
WorkingDirectory=/home/test/test
Environment="GIT_PYTHON_GIT_EXECUTABLE=/usr/bin/git"
Environment="PATH=/home/public/miniconda3/bin:$PATH"
StandardOutput=/var/log/sd_webui_restart.log
StandardError=/var/log/sd_webui_restart.log
[Install]
WantedBy=multi-user.target
2.启动
- 更改文件权限
chmod +x sd_webui_restart.service
- 启动运行
sudo systemctl daemon-reload
sudo systemctl enable sd_webui_restart.service
sudo systemctl start sd_webui_restart.service
sudo systemctl status sd_webui_restart.service //查看启动后打印的log
- 查看log
journalctl -u sd_webui_restart.service
总结
这是linux的类似在ubuntu 或者redhat中,如果是macos的话类似使用lauchctl工具配置方式见下文链接
macos使用lauchctl实现同样的功能