signal

SIGNAL(2)                        Systemaufrufe                       SIGNAL(2)



BEZEICHNUNG
       signal - ANSI C Signalmanagement


ÃBERSICHT
       #include <signal.h>


       void (*signal(int signum, void (*handler)(int)))(int);


BESCHREIBUNG
       Der Systemaufruf signal trägt einen neuen Signalhandler für das
       Signal mit der Nummer signum ein.  Der Signalhandler wird auf handler
       gesetzt, die eine benutzerdefinierte Funktion oder eines der folgenden
       Makros sein darf:

              SIG_IGN
                     Das Signal ist zu ignorieren.

              SIG_DFL
                     Setzt das Signal auf das voreingestellte Verhalten
                     zurück.

       Das Ganzzahlargument, das an den Signalhandler durchgereicht wird, ist
       die Signalnummer.  Dadurch wird es möglich, einen Signalhandler für
       mehrere Signale zu verwenden.

       Signalhandler sind Routinen, die aufgerufen werden wenn der Prozeà ein
       entsprechendes Signal empfängt.  Mittels alarm(2), das ein SIGALRM
       schickt, kann der Prozeà z.B. an regelmäÃige Aufgaben erinnert werden.
       So kann auch erreicht werden, daà der Prozeà z.B. seine
       Konfigurationsdateien neu einliest.


RÃCKGABEWERT
       signal liefert den vorherigen Signalhandler zurück oder SIG_ERR bei
       aufgetretenem Fehler.


ANMERKUNGEN
       Für SIGKILL und SIGSTOP können keine Signalhandler gesetzt werden.

       Im Gegensatz zu BSD-Systemen werden Signale unter Linux auf das
       voreingestellte Verhalten zurückgesetzt, wenn das Signal ausgelöst
       wurde.

       Wenn Sie vielleicht erstaunt über den Prototypen oben sind, betrachten
       Sie folgendes:

       typedef void (*sighandler_t)(int);
       sighandler_t signal(int signum, sighandler_t handler);


KOMPATIBEL ZU
       ANSI C


SIEHE AUCH
       kill(1), kill(2), killpg(2), pause(2), raise(3), sigaction(2),
       signal(7), sigsetops(3), sigvec(2), alarm(2).



Linux 1.0                        10. Juni 1996                       SIGNAL(2)