SIGHUP | |
---|---|
Beskrivelse | Tab af forbindelse til terminalen |
Standard | procesafslutning |
SA_SIGINFO Koder | |
Har ingen specifikke koder |
På POSIX - systemer er SIGHUP et signal, der sendes til en proces for at meddele, at forbindelsen til brugerens kontrollerende terminal er mistet.
SIGHUP er en heltalskonstant defineret i signal.h. De symbolske navne på signalerne bruges i stedet for numrene, da numrene på signalerne kan være forskellige i forskellige implementeringer.
POSIX tildeler værdien 1 til SIGHUP. For eksempel, for at aktivere nye terminaler efter at have tilføjet dem til en fil , /etc/ttysanbefales det at sende SIGHUP til init -processen med kill -1 1kommandoen " " (init har PID = 1).
SIG er et almindeligt præfiks , der betyder "signal", HUP er en forkortet stavemåde af engelsk. læg på - læg på, linjeafbrydelse.
I mange år fik man adgang til computere (mainframes) ved at forbinde computerterminaler til dem via serielle linjer (for eksempel linjer i RS-232- standarden ). Derfor blev der ved design af signalsystemet defineret et frakoblingssignal for at afslutte alle programmer, der blev lanceret fra den tabte terminal.
Signaler har altid været et bekvemt middel til kommunikation mellem processer, men tidlige designs indeholdt ikke brugerdefinerede signaler (såsom de senere SIGUSR1 og SIGUSR2 ), som et program kunne bruge til sine egne behov. Af denne grund begyndte SIGHUP at blive brugt til geninitialisering (genlæsning af konfigurationsfiler) i programmer, der ikke bruger kontrolterminaler under deres arbejde, såsom daemons . Denne brug af SIGHUP har overlevet den dag i dag, både i gamle og standardprogrammer ( init , inetd , cron , Sendmail , Apache ...), og i de fleste nye, og betragtes som de facto-standarden.
SIGHUP-signalet sendes:
Den normale standardhandling for SIGHUP på POSIX-systemer er at afslutte processen.
Når en Unix-shell modtager en SIGHUP, genstarter den normalt alle stoppede opgaver, før den sender dem en SIGHUP. I andre implementeringer (f.eks. GNU bash ) "frasiger" skallen sig alle underordnede opgaver før den afsluttes (og de fortsætter med at køre) .
SIGHUP kan blive fanget eller ignoreret af programmet.
For at forhindre standardprogrammer og hjælpeprogrammer i at afslutte SIGHUP , er der et hjælpeprogram nohup(et "præfiks" for et program på kommandolinjen). nohupkonfigurerer SIGHUP til at blive ignoreret og kører derefter programmet med argumenter i baggrunden med output omdirigeret til en fil nohup.outi brugerens nuværende eller hjemmemappe.
POSIX- signaler | |||
---|---|---|---|
| |||
|