- 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 in theheader file
.signal.h History
Access to computer systems for many years consisted of connecting a terminal to a mainframe system via a serial line and the
RS-232 protocol. For this reason, when a system of softwareinterrupt s, called signals, was being developed, a signal was designated for use on "Hangup".SIGHUP would be sent to programs when the serial line was dropped, often because the connected user terminated the connection by hanging up the modem. The system would detect the line was dropped via the lost DCD "carrier detect" signal.
Signals have always been a convenient method of
inter-process communication (IPC), but in early implementations there were no user-definable signals (such as the later additions ofSIGUSR1 andSIGUSR2 ) that programs could intercept and interpret for their own purposes. For this reason, applications that did not require a controlling terminal, such as daemons, would "recycle" SIGHUP as a signal to re-read configuration files, or reinitialise. This convention survives to this day in packages such as Apache andSendmail .Modern usage
With the decline of access via serial line, the meaning of SIGHUP has changed somewhat on modern systems, often meaning a controlling pseudo or virtual terminal has been closed.
If the program receiving SIGHUP is a
Unix shell , it will often intercept the signal and ensure all stopped programs are continued before sending the signal to child jobs.The
Single UNIX Specification describes a shell utility callednohup , which can be used as a wrapper to start a program immune to SIGHUP.Different shells also have other methods of controlling and managing SIGHUP, such as the disown facility of GNU
bash .Details
Symbolic signal names are used because signal numbers can vary across platforms, but XSI-conformant systems allow the use of the numeric constant 1 to be used to indicate a SIGHUP, which the vast majority of systems in fact use.
SIGHUP can be handled. That is,
programmer s can define the action they want to occur upon receiving a SIGHUP, such as calling a function, ignoring it, or restoring the default action.The default action on
POSIX -compliant systems is an abnormal termination.Etymology
"SIG" is a common prefix for signal names; "HUP" is a contraction of "hang up".
ee also
*
Signal (computing)
*RS-232
*Computer terminal
Wikimedia Foundation. 2010.