Почему многие программы Unix используют такие сигналы, как USR1?

Многие программы Unix принимают такие сигналы, как USR1 и USR2. Например, чтобы обновить исполняемый файл для Nginx на лету, вы отправляете kill -USR2.

Я понимаю, что USR1 - это «определяемый пользователем» сигнал, означающий, что тот, кто создал программу, может использовать его для обозначения «выключен» "или" сбросить ваши журналы "или" печатать foo тысячу раз "или что-то еще. Но я не понимаю, почему они должны использовать это произвольное имя. Почему бы не kill -UPGRADE или kill -GRACEFUL_SHUTDOWN? Разрешает ли Unix только определенные сигналы?

Пока мы это делаем, Nginx также использует следующие сигналы (см. документацию ):

  • TERM, INT : быстрое отключение
  • Выйти . Изящное завершение работы
  • HUP :
    • Перезагрузка конфигурации
    • Запустите новые рабочие процессы с новой конфигурацией
    • Изящно завершает работу старых рабочих процессов
  • USR1 : снова откройте файлы журнала
  • USR2 . Обновление исполняемого файла на лету
  • WINCH : корректное завершение рабочих процессов

HUP? Winch? В чем причина этих имен? Где я могу узнать больше об этом?

67 голосов | спросил Nathan Long 18 MarpmFri, 18 Mar 2011 13:46:44 +03002011-03-18T13:46:44+03:0001 2011, 13:46:44

0 ответов


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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132