如果服务未运行,我该如何“启动”,但如果服务正在使用 systemd 运行,我该如何“重新加载”?

如果服务未运行,我该如何“启动”,但如果服务正在使用 systemd 运行,我该如何“重新加载”?

我有部署(capistrano),成功后重新加载systemd:

sudo systemctl reload myserver.service

但是,第一次部署后,服务还没有运行。在这种情况下,我想启动它。

sudo systemctl start myserver.service

systemd 中是否有标志或其他技巧可以确定:“服务是否正在运行,然后重新加载,否则,启动它”?另一种方法是将其构建到部署工具本身中,但如果 systemd 提供这些功能,我宁愿使用现有功能。

答案1

你可能搞混了。重新加载或启动 systemd 服务的命令是 systemctl。
你可以尝试

sudo systemctl reload-or-restart myserver.service

这应该可以满足您的要求。

相关内容