Кажется, Баш не создает зомби. Похоже, что процессы сразу же пожинаются, когда их убивают.
Могу ли я сделать Баш сделать зомби?
Почему я спрашиваю:
Я хотел бы иметь возможность безопасно убить дочерний процесс или безопасно, kill -9
если он не умирает в течение определенного периода времени, но я не хочу случайно уничтожать процесс, который не является моим дочерним процессом. Процессы зомби обычно делают его очень легким и безопасным.
unshare
для создания пространства имен PID, чтобы из этого дерева процессов внешние процессы были изолированы и недоступны.kill -KILL %n
гдеn
номер задания и т. Д.) Вместо того, чтобы пытаться его обойти.timeout
команду?Ответы:
Чтобы сделать процесс зомби:
Это заменит оболочку, которая работает
sleep 1
с/bin/sleep 10
этим, не будет знать, чтоsleep 1
процесс завершен, поэтому создание зомби в течение 10 секунд.Я не уверен, что вы ожидаете от убийства зомби. Процесс зомби уже был мертв, вы не можете убить его.
На самом деле, вы можете заставить процессы зомби исчезать, но убивая их родителей, а не сами процессы зомби.
источник
Не очень интересный ответ:
источник
$BASHPID
это$$
я думаю.$BASHPID
это не то же самое$$
. Попробуйте следующий код:echo $$ $BASHPID ;echo $(echo $$ $BASHPID)
. Вы можете найти больше информации вman bash
.