SIGHUP | |
---|---|
Beskrivning | Förlust av anslutningen till terminalen |
Standard | processavslut |
SA_SIGINFO- koder | |
Har inga specifika koder |
På POSIX - system är SIGHUP en signal som skickas till en process för att meddela att anslutningen till användarens styrande terminal har förlorats.
SIGHUP är en heltalskonstant definierad i signal.h. De symboliska namnen på signalerna används istället för siffrorna, eftersom numren på signalerna kan skilja sig åt i olika implementeringar.
POSIX tilldelar SIGHUP värdet 1. Till exempel, för att aktivera nya terminaler efter att ha lagt till dem i en fil , /etc/ttysrekommenderas att skicka SIGHUP till init -processen med kill -1 1kommandot " " (init har PID = 1).
SIG är ett vanligt prefix som betyder "signal", HUP är en förkortad stavning av engelska. lägg på - lägg på, linjeavbrott.
Under många år nåddes datorer (stordatorer) genom att ansluta datorterminaler till dem via seriella linjer (till exempel linjer enligt RS-232- standarden ). Därför, när signalsystemet designades , definierades en frånkopplingssignal för att avsluta alla program som startas från den förlorade terminalen.
Signaler har alltid varit ett bekvämt sätt för kommunikation mellan processer, men tidiga konstruktioner inkluderade inte anpassade signaler (som de senare SIGUSR1 och SIGUSR2 ) som ett program kunde använda för sina egna behov. Av denna anledning, i program som inte använder kontrollterminaler under sitt arbete, såsom daemons , började SIGHUP användas för ominitiering (omläsning av konfigurationsfiler). Denna användning av SIGHUP har överlevt till denna dag, både i gamla och standardprogram ( init , inetd , cron , Sendmail , Apache ...), och i de flesta nya, och anses vara de facto-standarden.
SIGHUP-signalen skickas:
Den normala standardåtgärden för SIGHUP på POSIX-system är att avsluta processen.
När ett Unix-skal tar emot en SIGHUP, startar det vanligtvis om alla stoppade uppgifter innan de skickar en SIGHUP. I andra implementeringar (t.ex. GNU bash ) "avstår" skalet alla underordnade uppgifter innan de avslutas (och de fortsätter att köras) .
SIGHUP kan fångas upp eller ignoreras av programmet.
För att förhindra att standardprogram och verktyg avslutar SIGHUP , finns det ett verktyg nohup(ett "prefix" för ett program på kommandoraden). nohupkonfigurerar SIGHUP för att ignoreras och kör sedan programmet med argument i bakgrunden med utdata omdirigerad till en fil nohup.outi användarens nuvarande eller hemkatalog.
POSIX- signaler | |||
---|---|---|---|
| |||
|