Нужно запустить 1 главный процесс, который контролирует множество чилд-процессов..
Он запускает каждый подпроцесс в виде
bash -c #CMD#&
, получается они работают как таски в текущей сессии. Так вот, #CMD# падает, если завершить главный процесс (логично), но не падает, если убить баш.
Вопрос: можно ли сделать так, чтобы в баше тоже была своя сессия (или как ?), чтобы при убивании главного процесса ИЛИ баша , падало CMD следом за ними?
Иерархия такая: MAINPROC -> BASH -> CMD
вот если сделать kill MAINPROC - должен упасть BASH, а за ним CMD (по логике) - так и происходит, все они ложатся.
Но если убить BASH, то MAIN+CMD все еще работают!
setsid пробовал, тогда если убиваешь BASH+MAINPROC - CMD все дальше себе работает и все, без- них в новой сессии....
Как мне сделать это поведение ?
Подробнее, как сейчас:
7434 pts/0 Ss 00:00:00 bash
16491 pts/0 S 00:00:00 \_ bash
18549 pts/0 S+ 00:00:00 \_ php ./...php
18553 pts/0 S+ 00:00:00 /bin/bash /tmp/CMDt8sL0c
18559 pts/0 Sl+ 00:00:18 \_ /CMD
shift196@debian:/srv/$ kill 18553
shift196@debian:/srv/$ ps --forest -o pid,tty,stat,time,cmd -g
PID TT STAT TIME CMD
16726 pts/1 Ss 00:00:00 bash
18763 pts/1 R+ 00:00:00 \_ ps --forest -o pid,tty,stat,time,cmd -g
7434 pts/0 Ss 00:00:00 bash
16491 pts/0 S 00:00:00 \_ bash
18549 pts/0 S+ 00:00:00 \_ php ./...php
18559 pts/0 Sl+ 00:00:20 /CMD
Но CMD не упала,она дальше себе работает!