# SIGHUP

SIGHUP bezeichnet ein Signal innerhalb eines Computers, der ein Unix (oder ähnliches) Betriebssystem hat. In der Regel zeigt das Signal die Beendigung einer Datenverbindung an. Historisch war das eine Verbindung zu einem Terminal über eine Telefonleitung. Daher kommt die Bezeichnung SIGHUP für signal: hang up.
Bei virtuellen Verbindungen kann SIGHUP anzeigen, dass ein bestimmter Prozess beendet ist. SIGHUP-Signale spielen bei der Systemprogrammierung von unixoiden Betriebssystemen eine spezielle Rolle.
Bei Programmen ohne Terminal zeigt SIGHUP an, dass die Konfiguration neu geladen werden soll. Danach werden oft Datenverbindungen neu aufgebaut.

## Etymologie

SIG wird gewöhnlich als Vorsilbe für Signale verwendet. HUP ist ein Kürzel für den englischen Begriff hang up, zu Deutsch aufhängen oder auflegen. Bei historischen Telefonen wurde die Gesprächsverbindung beendet, wenn der Telefonhörer an einem Haken aufgehängt wurde oder der Telefonhörer auf die Gabel gelegt wurde. Diese Begrifflichkeit wurde beibehalten, als Fernschreiber über das Telefonnetz mit einem Rechner verbunden wurden. Historisch ist in den zum Betriebssystem gehörenden Handbüchern die Bedeutung von SIGHUP mit hang up angegeben. Eine Übersetzung ins Deutsche ist (Daten-)Verbindung beendet.
In neueren Handbüchern wird SIGHUP ausführlicher erläutert: „Hangup detected on controlling terminal or death of controlling process“
Die Worte controlling und kontrollieren sind falsche Freunde. Im Deutschen steht kontrollieren für „prüfen“ oder „überwachen“. Im Englischen ist „Macht ausüben“, „steuern“ oder „regeln“ gemeint.
Eine Übersetzung von controlling terminal ist Steuerterminal. Das ist das Terminal, an dem durch Eingabe von Steuerzeichen (beispielsweise Strg-C) ein Prozess beeinflusst wird. Ist die Verbindung zum Steuerterminal beendet, wird SIGHUP gesendet. Der Text Hangup detected on controlling terminal bildet den Sachverhalt Verbindung beendet ab.
controlling process bezeichnet ein Steuerprogramm. Das kann der Prozessgruppenführer oder der Sitzungsführer sein. Gibt es ein Steuerterminal (controlling terminal) werden die genannten Prozesse vom Betriebssystem überwacht, death of controlling process (Steuerprogramm beendet) zeigt deren Ende an. Allerdings ist vorher das Steuerterminal abhandengekommen. So bilden „Hangup detected on controlling terminal“ und „death of controlling process“ den gleichen Sachverhalt ab. Die zweite Formulierung ist zum Verständnis eines Terminalemulator hilfreich.
Eine weitere, übliche Funktion von Steuerprogrammen ist es, ein anderes Programm zum erneuten Auswerten seiner Konfiguration zu veranlassen. In diesem Zusammenhang zeigt SIGHUP kein death (Ende) an. Eine Übersetzung ist Anstoss vom Steuerprogramm.

## Verwendung

Das Signal SIGHUP wird erzeugt, wenn auf einer Datenleitung zu einem Terminal, einem Drucker o. ä. ein Verbindungsabbruch entdeckt wird. Z. B. wenn bei einem Telefonmodem das Trägersignal nicht mehr wahrnehmbar ist.
Von einem Terminalemulator wird das Signal generiert, wenn das zum Terminal gehörende Fenster geschlossen wird.
Meist führt der Empfang des SIGHUP zum Beenden des Prozesses. Der Empfänger kann eine Signalbehandlung installieren. Dadurch können beim Abbruch Daten gesichert werden, das ist bei vielen Textverarbeitungsprogrammen der Fall. Ein typisches Beispiel ist ex.
Bei Programmen ohne Terminal ist es üblich, dass beim Empfang des SIGHUP die Konfiguration noch einmal ausgewertet wird und das Programm danach weiterläuft.
Das Signal SIGHUP wird meist vom Gerätetreiber verschickt. Es kann auch mit der C-Funktion kill an einen Prozess, einen Thread oder eine Prozessgruppe geschickt werden. Dies wird z. B. durch die Befehlszeilenprogramme kill oder killall gemacht.
Die Terminalschnittstelle wird mit dem Programm stty eingestellt. Dieses Programm hat u. a. die Optionen hup und clocal.