systemd:服务是否在“systemctl stop”之前停止?

systemd:服务是否在“systemctl stop”之前停止?

当我systemctl stop service对停止或失败的服务执行此操作时,它返回 0 并且没有输出。在调用之前我需要知道它是否正在运行。

在停止之前调用systemctl status不是一种选择:它会增加运行时间并引入竞争条件。这两个原因对我来说都很重要。

答案1

如果用信号终止您的服务TERM是停止它的适当方法,您可以使用

systemctl kill --fail service

代替

systemctl stop service

如果服务正在运行并被终止,则将以代码 0 退出;如果服务未运行,则以代码 1 退出。

相关内容