SÓGOTT | |
---|---|
Leírás | A terminállal való kapcsolat megszakadása |
Alapértelmezett | folyamat leállítása |
SA_SIGINFO kódok | |
Nincsenek konkrét kódjai |
A POSIX rendszereken a SIGHUP egy folyamatnak küldött jel , amely jelzi, hogy megszakadt a kapcsolat a felhasználó vezérlőtermináljával.
A SIGHUP egy egész szám állandó, amelyet a signal.h. A számok helyett a jelek szimbolikus neveit használjuk, mivel a jelek száma a különböző megvalósításokban eltérő lehet.
A POSIX 1 értéket rendel a SIGHUP-hoz. Például új terminálok aktiválásához, miután hozzáadta őket egy fájlhoz , /etc/ttysajánlatos a SIGHUP parancsot elküldeni az init folyamatnak a " kill -1 1" paranccsal (az init PID = 1).
A SIG egy gyakori előtag , jelentése "jel", a HUP pedig az angol nyelv rövidítése . letesz - letesz, vonalmegszakítás.
A számítógépekhez (nagyszámítógépekhez) sok éven át úgy lehetett hozzáférni, hogy soros vonalakon (például RS-232 szabványú vonalakon) számítógépes terminálokat csatlakoztattak hozzájuk . Ezért a jelzőrendszer tervezésekor egy lekapcsoló jelet határoztak meg, amely az elveszett terminálról indított összes programot leállítja.
A jelek mindig is kényelmes eszközei voltak a folyamatok közötti kommunikációnak, de a korai tervek nem tartalmaztak olyan egyedi jeleket (mint például a későbbi SIGUSR1 és SIGUSR2 ), amelyeket a program saját igényeire használhatott volna. Emiatt azokban a programokban, amelyek nem használnak vezérlőterminálokat munkájuk során, mint például a démonok , a SIGHUP-ot kezdték használni újrainicializálásra (konfigurációs fájlok újraolvasására). A SIGHUP ezen használata a mai napig fennmaradt, mind a régi, mind a szabványos programokban ( init , inetd , cron , Sendmail , Apache ...), és a legtöbb újban is, és de facto szabványnak számít.
A SIGHUP jelet küldi:
A SIGHUP normál alapértelmezett művelete a POSIX rendszereken a folyamat leállítása.
Amikor egy Unix rendszerhéj SIGHUP üzenetet kap, általában újraindítja a leállított feladatokat, mielőtt SIGHUP-ot küldene nekik. Más megvalósításokban (pl. GNU bash ) a shell "lemond" minden gyermekfeladatról a kilépés előtt (és azok továbbra is futnak) .
A SIGHUP-ot elkaphatja vagy figyelmen kívül hagyhatja a program.
Annak megakadályozására, hogy a szabványos programok és segédprogramok leállítsák a SIGHUP -t, van egy segédprogram nohup(a program "előtagja" a parancssorban). nohupbeállítja a SIGHUP figyelmen kívül hagyását, majd a háttérben argumentumokkal futtatja a programot, és a kimenetet nohup.outa felhasználó aktuális vagy saját könyvtárában lévő fájlra irányítja át.
POSIX jelek | |||
---|---|---|---|
| |||
|