Іноді, коли я запускаю killall
команду від Terminal, колега запропонував або відредагував мої сценарії для показу killall -HUP
.
Що робить -HUP
частина?
Іноді, коли я запускаю killall
команду від Terminal, колега запропонував або відредагував мої сценарії для показу killall -HUP
.
Що робить -HUP
частина?
Відповіді:
-HUP
Варіантом є сигналом того, що послав до процесів з допомогою killall
команди. Це може бути важко сказати, але відповідний запис у killall
посібнику :
-SIGNAL Send a different signal instead of the default TERM. The signal may be specified
either as a name (with or without a leading SIG), or numerically.
Різниця між TERM
сигналом за замовчуванням, який killall
надсилає, і HUP
сигналом багато в чому залежить від програми, якій ви надсилаєте сигнал. В кінці програми вони отримують інше значення сигналу переривання. Таким чином програма може вловлювати переривання і вирішувати, виходячи зі значення, якщо вони повинні робити те чи інше.
TERM
Сигнал (історично «припиняє сигнал»), як правило , відправляються в програму для запиту про його припинення (який є версією politer з примушуючи його припинення з KILL
сигналом). Програма безкоштовно ловити та ігнорувати TERM
сигнал. Його не потрібно припиняти, якщо цього не хоче, і він може повністю ігнорувати цей сигнал.
HUP
Сигнал (історично «зависання сигнал»), як правило , направляють в програму на запит , що вона перезапускается і повторно зчитує всю його конфігурацію в цьому процесі. Фактична поведінка програми залежить від конкретної програми. Не всі програми ловлять, HUP
і це не вимагається конвенцією чи догмою. Наприклад, веб-сервер Apache сприйме HUP
сигнал і перечитає всі його конфігураційні файли, але він не перезапустить жодних процесів.
Якщо ви хочете по-справжньому припинити процеси і не турбуватися про те, чи збираються вони ловити та підкорятися, сигнал використовує KILL
сигнал. Він не може бути спійманим або ігнорованим і призводить до припинення процесу.
Для хорошого огляду доступних сигналів POSIX дивіться цю статтю у Вікіпедії .
#FAIL
людей, які ніколи не читали минулих перемикачів. Дякую!
-HUP
Є «повісити трубку» сигнал , який може викликати додаток , щоб припинити, прочитати це конфігураційний файл, а потім почати знову. Це не обов'язково краще, ніж використовувати його без.
killall Finder
і
killall -HUP Finder
Поважають однаково. В OS X Finder перезапуститься, але він перечитає файл конфігурації. Це насправді не так, якщо програма, що працює, не має -HUP
вбудованої функції. Як попередній плакат згадував Apache. Він читає конфігураційні файли, але не може запуститися знову.