Почему killall (иногда?) Нужно применять дважды?

Почему killall (иногда?) Нужно применять дважды? Вот пример , где для завершения процесса необходим «двойной» killall.

Когда и почему процесс нужно было убить «дважды»? Что происходит под капотом?

2
задан 13 April 2017 в 15:23

1 ответ

Я собираюсь заявить специализированную возможность.

то, Когда Вы используете killall program, SIGTERM (сигнал 15), отправляется в программу. Обычный ответ на SIGTERM состоит в том, что программа вышла бы корректно.

Теперь как эти SIGTERM catchable, программа может иметь обработчик сигналов для SIGTERM, который сделал бы некоторую задачу после получения первого SIGTERM (сначала killall) и возвратился бы к состоянию, где второе SIGTERM только завершит его (действие по умолчанию). Это очень зависит от разработчика программы, конечно, и не общего случая.

0
ответ дан 14 April 2017 в 01:23
  • 1
    Большое спасибо! Это работало только с обновлением личинки. Предложенная ссылка также довольно полезна. – pacos 14 December 2016 в 03:41

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

Похожие вопросы: