У меня есть код, который выглядит как этотФоновый процесс, убивающий его родителя?
function doTheThing{
# a potentially infinite while loop...
}
# other stuff...
doTheThing &
trap "kill $!" SIGINT SIGTERM
Как ни странно, когда я Ctrl-C из родительского процесса до того, как цикл закончен, я получаю сообщение о том, что процесс не существует. Кроме того, если я избавлюсь от ловушки, я не могу найти процесс с ps -aF. Похоже, что фоновый процесс убивается, когда его родитель прекращается, но я понял, что этого не должно было случиться. Я просто хочу убедиться, что я могу спокойно оставить в ловушке и не покидать зомби-процессы повсюду.
Control-C убивает всю группу процессов, а не только процесс. – Barmar
Процесс зомби - это процесс, который умер, но его родитель еще не назвал 'wait'. Если родитель убит, зомби получает унаследованный 'init', который ждет его. – Barmar
Чтобы быть ясным, вы говорите, что я не оставлю никаких дополнительных процессов, если я избавлюсь от ловушки? –