SIGHUP

SIGHUP
SIGHUP
Описание: Потеря соединения с терминалом
По умолчанию: завершение процесса
коды SA_SIGINFO
(не имеет специфических кодов)

В POSIX-системах, SIGHUP — сигнал, посылаемый процессу для уведомления о потере соединения с управляющим терминалом пользователя.

SIGHUP — целочисленная константа, определённая в заголовочном файле signal.h. Символьные имена сигналов используются вместо номеров, так как в разных реализациях номера сигналов могут различаться.

POSIX закрепляет за SIGHUP значение 1. Например, для активации новых терминалов после их добавления в файл /etc/ttys рекомендуется послать SIGHUP процессу init, командой «kill -1 1» (init имеет PID = 1).

Этимология

SIG — общий префикс, означающий «сигнал», HUP — сокращенное написание англ. hang up — отбой, прерывание линии.

История

Много лет, доступ к компьютерам (мэйнфреймам) осуществлялся подсоединением к ним компьютерных терминалов через последовательные линии (например, линии стандарта RS-232). Поэтому при разработке системы сигналов был определен сигнал разрыва соединения, для завершения всех программ запущенных с потерянного терминала.

Сигналы всегда были удобным средством межпроцессного взаимодействия, но ранние разработки не включали в себя пользовательских сигналов (таких как появившиеся позднее SIGUSR1 и SIGUSR2), которые программа могла использовать для собственных нужд. По этой причине, в программах, не использующих при своей работе управляющих терминалов, например демонах, SIGHUP стали использовать для переинициализации (перечитывания файлов конфигурации). Такое использование SIGHUP сохранилось и по сей день, как в старых и стандартных программах (init, inetd, cron, Sendmail, Apache …), так и в большинстве новых, и считается стандартом де-факто.

Использование

Сигнал SIGHUP посылается:

  • При прерывании соединения на последовательной линии, программам, запущенным с терминала подключенного к ней, часто из-за того, что пользователь отсоединяет свой модем от телефонной или выделенной линии. Операционная система определяет разрыв соединения по исчезновению сигнала «несущая» (англ.  carrier detect, DCD) последовательного порта.
  • При закрытии псевдо- или виртуальных терминалов, которые используются на современных системах вместо аппаратных терминалов.
  • Утилитой или функцией kill, с консоли или из скрипта/утилиты для управления демоном, для выполнения предусмотренного действия (обычно — перечитывания конфигурации и переинициализации).

Обычным действием по умолчанию для SIGHUP в POSIX-системах является завершение процесса.

Unix-шелл, при получении SIGHUP, обычно запускает заново все остановленные задачи, перед посылкой им SIGHUP. В других реализациях (например, GNU bash), шелл «отрекается» от всех дочерних задач перед завершением (и они продолжают работать).

SIGHUP может быть перехвачен или проигнорирован программой.

Для предотвращения завершения SIGHUP стандартных программ и утилит, существует утилита nohup («префикс» для программы в командной строке). nohup настраивает игнорирование SIGHUP, после чего запускает программу с аргументами в фоновом режиме с перенаправлением вывода в файл nohup.out в текущем или домашнем каталоге пользователя.

Сигналы POSIX
SIGABRT | SIGALRM | SIGFPE | SIGHUP | SIGILL | SIGINT | SIGKILL | SIGPIPE | SIGQUIT | SIGSEGV | SIGTERM | SIGUSR1 | SIGUSR2 | SIGCHLD | SIGCONT | SIGSTOP | SIGTSTP | SIGTTIN | SIGTTOU | SIGBUS | SIGPOLL | SIGPROF | SIGSYS | SIGTRAP | SIGURG | SIGVTALRM | SIGXCPU | SIGXFSZ |

Сигналы реального времени (определяемые пользователем) — SIGRTMIN — SIGRTMAX.

Некоторые сигналы не включенные в POSIX и синонимы
SIGIOT | SIGEMT | SIGSTKFLT | SIGIO | SIGCLD | SIGPWR (SIGINFO) | SIGLOST | SIGWINCH | SIGUNUSED

Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Полезное


Смотреть что такое "SIGHUP" в других словарях:

  • SIGHUP — Infobox Computing signal description = Hangup action = Abnormal termination of the processSIGHUP is a signal used on POSIX compliant platforms, originally designed to notify processes of a serial line drop. SIGHUP is a symbolic constant defined… …   Wikipedia

  • SIGHUP — Hangup Signal (Signal Nr. 1) unter X/Open, ATT und BSD UNIX ( >xedit /usr/include/signal.h) …   Acronyms

  • SIGHUP — Hangup Signal (Signal Nr. 1) unter X/Open, ATT und BSD UNIX ( >xedit /usr/include/signal.h) …   Acronyms von A bis Z

  • Nohup — est une commande Unix permettant de lancer un processus qui restera actif même après la déconnexion de l utilisateur l ayant initiée. Combiné à l esperluette qui permet le lancement en arrière plan, nohup permet donc de créer des processus s… …   Wikipédia en Français

  • nohup — est une commande Unix permettant de lancer un processus qui restera actif même après la déconnexion de l utilisateur l ayant initiée. Combiné à l esperluette qui permet le lancement en arrière plan, nohup permet donc de créer des processus s… …   Wikipédia en Français

  • TTY-абстракция — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии. У этого термина существуют и другие значения, см. Tty. Подсистема TTY, или TTY абстракция  это одна из …   Википедия

  • SIGUSR1 и SIGUSR2 — Описание: Сигналы определяемые пользователем По умолчанию: завершение процесса коды SA SIGINFO (не имеет специфических кодов) В POSIX системах, SIGUSR1 и SIGUSR2  пользовательские сигналы, которые могут быть использованы для… …   Википедия

  • nohup — is a POSIX command to ignore the HUP (hangup) signal, enabling the command to keep running after the user who issues the command has logged out. The HUP (hangup) signal is by convention the way a terminal warns depending processes of logout.… …   Wikipedia

  • Cron — is a time based scheduling service in Unix like computer operating systems. cron is short for chronograph . [ [http://drupal.org/node/937#cron Drupal Terminology Page] ] cron has been recreated several times in its history. Design cron is driven… …   Wikipedia

  • Hungarian Unix Portal — Since 2000 the Hungarian Unix Portal founded by Gabor Micsko aka. [http://hup.hu/user/1 trey] is the largest Hungarian UNIX/Linux/BSD system administrators webpage. On this page you can read news, get help in the forum, discuss the news, etc.HUP… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»