Іноді, коли я запускаю 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. Він читає конфігураційні файли, але не може запуститися знову.