SIGHUP
В POSIX-системах, SIGHUP — сигнал, посылаемый процессу для уведомления о потере соединения с управляющим терминалом пользователя. SIGHUP — целочисленная константа, определённая в заголовочном файле POSIX закрепляет за SIGHUP значение 1. Например, для активации новых терминалов после их добавления в файл ЭтимологияSIG — общий префикс, означающий «сигнал», HUP — сокращенное написание англ. hang up — отбой, прерывание линии. ИсторияМного лет доступ к компьютерам (мэйнфреймам) осуществлялся подсоединением к ним компьютерных терминалов через последовательные линии (например, линии стандарта RS-232). Поэтому при разработке системы сигналов был определен сигнал разрыва соединения, для завершения всех программ запущенных с потерянного терминала. Сигналы всегда были удобным средством межпроцессного взаимодействия, но ранние разработки не включали в себя пользовательских сигналов (таких как появившиеся позднее SIGUSR1 и SIGUSR2), которые программа могла использовать для собственных нужд. По этой причине, в программах, не использующих при своей работе управляющих терминалов, например демонах, SIGHUP стали использовать для переинициализации (перечитывания файлов конфигурации). Такое использование SIGHUP сохранилось и по сей день, как в старых и стандартных программах (init, inetd, cron, Sendmail, Apache …), так и в большинстве новых, и считается стандартом де-факто. ИспользованиеСигнал SIGHUP посылается:
Обычным действием по умолчанию для SIGHUP в POSIX-системах является завершение процесса. Unix-шелл при получении SIGHUP обычно запускает заново все остановленные задачи перед посылкой им SIGHUP. В других реализациях (например, GNU bash) шелл «отрекается» от всех дочерних задач перед завершением (и они продолжают работать)[источник не указан 2919 дней]. SIGHUP может быть перехвачен или проигнорирован программой. Для предотвращения завершения SIGHUP стандартных программ и утилит существует утилита |