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

背景

有一个web服务由systemctl控制。

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

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

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

原因

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

方案

在[Service]段加上KillMode=process

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

原文地址:https://www.cnblogs.com/real-bert/p/14849338.html