启动时启动并在失败时自动重启的脚本

启动时启动并在失败时自动重启的脚本

我正在尝试编写一个自动启动脚本,该脚本在启动时启动并在崩溃时重新启动。只需将脚本添加到

/etc/rc.local

文件,但我的问题是自动重启。我考虑在启动实际脚本之前将 $$ 变量导出到外部文本文件中,并将其与另一个脚本一起使用以检查该 pid 是否仍在运行。我现在的问题是如何检查特定 PID 是否仍在运行,以及是否有更可靠的方法来执行此操作。

答案1

您的脚本需要以这种方式执行的是systemd服务。

以下示例就是一个例子:

[Unit]
Description=My Script


[Service]
Type=forking    
ExecStart=/path/to/script
Restart=on-failure

[Install]
WantedBy=multi-user.target

可以通过多种方式实现:

  1. 将您的脚本放在另一个位置并从您的systemd服务文件中访问它。

  2. 将代码直接放在systemd服务文件中。

我相信第一个选项最适合您的情况。现在,完成后,使用常规命令在启动时启用systemctl,例如:

sudo systemctl enable myscript.service
sudo systemctl status myscript.service
sudo systemctl stop myscript.service
sudo systemctl start myscript.service

资料来源:

https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files

https://www.freedesktop.org/software/systemd/man/systemd.unit.html

相关内容