【发布时间】:2017-12-18 00:43:31
【问题描述】:
我有一个具有 OnFailure 处理程序(另一个服务)的 systemd 单元。如果我使用 systemctl 重新启动单元,则单元会停止,这会导致 OnFailure 处理程序运行。但是该单元没有失败 - 我只是想重新启动它并且需要阻止 OnFailure 运行。
root@device:/etc/systemd/system# systemctl restart myservice
[ 159.194237] systemd[1]: Stopping myservice...
[ 159.224148] systemd[1]: myservice.service: main process exited, code=killed, status=3/QUIT
[ 159.224812] systemd[1]: myservice.service entered failed state.
[ 159.225363] systemd[1]: Triggering OnFailure= dependencies of myservice.service.
[ 159.225905] systemd[1]: Starting Handling myservice on Failure...
[ 159.227664] systemd[1]: Starting myservice...
Job for myservice.service canceled.
操作系统是 Debian 8 (Jessie)
【问题讨论】:
-
知情猜测:日志显示
status=3/QUIT,这意味着进程因未处理的 SIGQUIT 而终止。要成功退出,它应该处理信号并优雅地终止。或者,设置SuccessExitStatus配置选项来告诉 systemd 其他退出状态不应计为失败。
标签: systemd