как я могу обнаружить kill SIGTERM, SIGKILL на дочерних процессах службы? или как я могу обнаружить отправку пользователем SIGTERM, SIGKILL дочерних процессов службы? - PullRequest
0 голосов
/ 23 апреля 2020

Я установил служебный скрипт в /etc/init.d/ и включил команду update-r c .d. Допустим, этот сервис называется «А». Эта служба A создает два дочерних процесса «B» и «C».

Мой сценарий такой:

1) "service A start" 
2) "service A stop" 
3) "service A start" 

проблем нет.

, но когда Я следую другому сценарию

1) "service A start" 
2) "kill -15 $PID_OF_B" && "kill -15 $PID_OF_C" 
3) "service A start" 

Я обнаружил, что процесс B пропущен, а C отсутствует.

У меня такие вопросы.

[1] Как я могу обнаружить ситуация и очистить каталог [/sys/fs/cgroup/systemd/system.slice/A], когда пользователь убивает дочерние процессы B, C, используя сигналы SIGTERM, SIGKILL ?? Есть ли какие-либо опции сценария инициализации ??

[2] можно ли запретить отправку пользователем сигнала SIGTERM, SIGKILL дочерним процессам службы ?? каким образом ??

Информация об ОС: Ubuntu16.04.5 LTS (Linux 4.15.0-96-generi c)

...