У нас есть контейнер Docker, в котором запущен systemd в качестве основного процесса (PID 1). Мы также запустили наши рабочие процессы в контейнере Docker через модуль systemd. Наши контейнеры Docker используют CentOS 7.2. Мы настроили тайм-аут остановки Docker, чтобы можно было корректно завершить работу рабочих процессов, запущенных внутри контейнера Docker. Когда мы останавливаем контейнер Docker, мы видим, что SIGTERM получен в процесс systemd, который работает с PID 1 внутри контейнера. Также контейнер ожидает тайм-аута остановки, который мы настроили. Но процесс systemd не пересылает этот SIGTERM нашим рабочим процессам, которые мы начали использовать с помощью модуля systemd. Из журналов похоже, что когда systemd получает SIGTERM, он пытается повторно выполнить себя. Мы пробовали добавить KillMode = mixed в наш файл модуля systemd, но у нас это не сработало.
Есть ли способ перенаправить SIGTERM из процесса systemd в дочерние процессы?