SÓGOTT

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2015. július 4-én felülvizsgált verziótól ; az ellenőrzések 3 szerkesztést igényelnek .
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).

Etimológia

A SIG  egy gyakori előtag , jelentése "jel", a HUP pedig az angol nyelv   rövidítése . letesz  - letesz, vonalmegszakítás.

Történelem

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.

Használat

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.