Отправка SIGTERM в `script` приводит к процессу зомби

Я внедряю простую систему для удаленного запуска заданий через SSH. Моя цель - запустить работу в screen и запишите все свои выходные данные, используя script и загрузите машинопись на сервер, когда работа завершится. Я, однако, борюсь с обработкой SIGTERM должным образом (например, когда удаленный компьютер собирается выключиться), так как script процесс не завершается при получении SIGTERM (вместо этого процесс, который выполняется внутри script становится зомби).

Примите следующую команду:

script -e -q -c 'ping www.google.com'

С помощью killall -TERM script отправить сигнал SIGTERM на script процесс, кажется, передает сигнал SIGTERM ping (который заканчивается), однако, это становится процессом зомби и script не заканчивается:

> ps -aux | grep ping
karel    16460  0.0  0.0  10852  2732 pts/2    S+   12:57   0:00 script -e -q -c ping www.google.com
karel    16461  0.1  0.0      0     0 ?        Zs   12:57   0:00 [ping] <defunct>

Если я правильно понимаю, ping процесс зомби, потому что родитель script процесс все еще наблюдает за этим. Тем не менее, возможно ли сделать script перестать наблюдать за процессом и грациозно прекратить (одновременно стирая машинку)?

0 ответов

Другие вопросы по тегам