systemd 在停止服务时发送 SIGTERM 两次

systemd 在停止服务时发送 SIGTERM 两次

我有一个由 systemd 服务调用的 C++ 程序。该程序不会立即被调用,而是嵌套在以“&”分隔的其他脚本中。

当我停止服务时,程序很快就会收到 SIGTERM 两次。我教过 SIGTERM 应该只发送一次。

如果我在单独的进程组中启动没有服务的脚本链,则当我终止该组时,程序仅按预期接收信号一次。这应该排除脚本中的某些内容导致多个信号的情况。

如果我有一个使用 的 bash 脚本而不是本机程序trap ... SIGTERM,则仅接收到一次信号。诡异的。

是什么导致了多个信号?

相关内容