Почему killall (иногда?) Нужно применять дважды?
Почему killall (иногда?) Нужно применять дважды? Вот пример, где "двойной" killall
необходимо, чтобы закончить процесс.
Когда и почему процесс нужно было убить "дважды"? Что происходит под капотом?
1 ответ
Я собираюсь заявить о конкретной возможности приложения.
Когда вы используете killall program
, SIGTERM
(сигнал 15) отправляется в программу. Обычный ответ на SIGTERM
является то, что программа будет завершена изящно.
Теперь как SIGTERM
можно поймать, программа может иметь обработчик сигнала для SIGTERM
это сделало бы некоторую задачу после получения первого SIGTERM
(первый killall
) и вернуться в состояние, когда второе SIGTERM
просто прервет его (действие по умолчанию). Это сильно зависит от разработчика программы, а не общего случая.