next up previous contents
Next: POSIX signal-szemantika Up: Kivételes események kezelésének Previous: A signalok feladata

Hagyományos signalkezelési technikák

A programok szabadon rendelkezhetnek arról, hogy egy adott fajtájú signallal mit akarnak csinálni. Erre való a signal rendszerhívás. Ennek elso paramétere a signal-fajtát adja meg, második pedig megmondja, hogy mit kell az olyan fajta signalokkal csinálni (lehetséges értékei: SIG_IGN = a signalt nem kell   figyelembe venni; SIG_DFL = a rendszerben alapértelmezésnek számító dolgot kell csinálni; ezenkívül megadhatjuk a program egy eljárásának a címét is, amely az adott típusú signalok esetén lesznek meghívva). Példa:

     signal(SIGINT, SIG_IGN); /* Nem fogadom ezutan a SIGINT-et */

A UNIX rendszerben a fontosabb signalok a következok:

A kill() rendszerhívással lehet egy signalt küldeni egy folyamatnak. A rendszerhívás elso paramétere az elküldendo signal típusa, a második araméter pedig annak a folyamatnak az azonosítója, akinek a signalt szántuk. (Ha a pid negatív, akkor a signal minden olyan folyamatnak el lesz küldve, amelynek a folyamat-csoport azonosítója egyenlo pid argumentumának abszolutértékével.) Van egy speciális típusú signal, a SIGALRM. Ezt lehet az alarm() rendszerhívással generálni. Az alarm() egyetlen paramétere egy egész szám. Abban az egész számban kell megadni az operációs rendszernek, hogy hány másodperc múlva küldjön a folyamatunknak egy SIGALRM signalt.



next up previous contents
Next: POSIX signal-szemantika Up: Kivételes események kezelésének Previous: A signalok feladata



Csizmazia Balazs
Tue Apr 2 00:06:27 MET DST 1996