GoZ*_*ner 5 redhat systemd systemctl
我有一个类似守护进程的进程,它启动了两个子进程(其中一个子进程启动了约10个其他子进程)。当systemctl stop我的进程出现时,子进程似乎被“积极地”杀死了systemctl-这并没有给我清理进程的机会。
我如何才能摆脱systemctl stop侵略性的杀戮,从而使我的流程有序地进行清理?
我timeoutSec=30无济于事。
KillMode=[1]默认为control-group。这意味着您的服务的每个过程都会被SIGTERM杀死。
您有两种选择:
TimeoutStopSec其内关闭(默认为90秒[2])KillMode=mixed。SIGTERM将仅发送到主进程。然后再次关闭TimeoutStopSec。如果未在中关闭TimeoutStopSec,则systemd将发送SIGKILL到所有进程。注意:我建议KillMode=mixed在选项2中使用而不是KillMode=process,因为后者只会将最终结果发送SIGKILL给您的主流程,这意味着您的子流程锁定后不会被杀死。
[1] https://www.freedesktop.org/software/systemd/man/systemd.kill.html#KillMode=
[2] https://www.freedesktop.org/software/systemd/man/systemd-system.conf.html#DefaultTimeoutStartSec=
| 归档时间: |
|
| 查看次数: |
4629 次 |
| 最近记录: |