首页 文章

systemd stop命令如何实际工作

提问于
浏览
26

我正在使用一个systemd服务,当它被“启动”时调用一个进程(例如$ systemctl start test.service) . 根据设计,该过程永远保持循环,我们可以使用'ps'命令查看进程是否存在 . 我们还看到该进程被系统停止命令杀死(按预期) . 但是我们的要求是,我们希望在进程被杀之前从进程内做一些安全的关闭操作 . 但我不确定如何从进程中检测系统停止操作 .

systemctl是否停止test.service命令发送SIGKILL或SIGTERM信号以终止该进程?如何从进程中检测到systemctl停止操作?

1 回答

  • 33

    默认情况下,发送SIGTERM,然后等待90秒,然后是SIGKILL .

    使用 systemd 进行的杀戮过程非常可定制且记录完备 .

    我建议阅读所有的man systemd.kill以及阅读ExecStop= in man systemd.service作为文档的所有选项 .

相关问题