我正在 EC2 实例上运行一项服务,该服务应在启动时以及相关脚本失败时启动。
所以我写了这样的服务:
[Unit]
Description=Test
[Service]
User=ubuntu
Type=simple
ExecStart=/usr/bin/ruby /home/ubuntu/main/test.rb
Restart=on-failure
RestartSec=1s
[Install]
WantedBy=multi-user.target
但是当我终止进程或重新启动服务器时,该服务不会启动。该服务已启用,当我手动启动它时,它可以按预期工作。
答案1
Restart=on-failure 不会将“终止的进程”视为失败。更改Restart=on-failure
为Restart=always
指示 systemd 始终重新启动该进程。请参阅https://www.freedesktop.org/software/systemd/man/systemd.service.html