page_title: SIGHUP
section_title: History
hierarchical_section_title: SIGHUP / History
caption_attribution_description: English: An acoustic coupler
context_page_description: On POSIX-compliant platforms, SIGHUP is a signal sent to a process when its controlling terminal is closed. SIGHUP is a symbolic constant defined in the header file signal.h.
context_section_description: 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 software interrupts, called signals, were 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 Data Carrier Detect (DCD) 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 of SIGUSR1 and SIGUSR2) 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 re-purpose SIGHUP as a signal to re-read configuration files, or reinitialize. This convention survives to this day in packages such as Apache and Sendmail.
caption: A hangup was often the result of a connected user physically hanging up the modem
exif: {}