Я установил служебный скрипт в /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)