systemctl stop某个服务时,保留服务开启的子程序

背景

有一个web服务由systemctl控制。

现在要通过web页面升级程序。

升级前要停掉web服务,否则无法更新web相关的文件。

执行systemctl stop web时,升级程序也被杀死了...

原因

默认情况下systemctl stop 时会对同一个control group (cgroup) 的所有进程都发送一个SIGTERM信号。

方案

在[Service]段加上KillMode=process

这样就只会发SIGTERM信号给主进程。

 

posted @ 2021-06-04 14:08  bert_qin  阅读(622)  评论(0编辑  收藏  举报