![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]()
Der Syntax von raise().....
Sendet ein Software-Signal zum ausführenden Programm. Mit der Funktion raise lassen sich Software-Signale vom Typ sig an das Programm senden. Wenn das Programm einen Signal-Handler für den durch sig angegebenen Signaltyp installiert hat, wird diese Routine ausgeführt. Wenn kein Handler installiert ist, wird die Standardaktion (SIG_DFL) für den jeweiligen Signaltyp ausgeführt. Als einfaches Beispiel wollen wir ein Programm schreiben das uns nach 2 Zahlen abfragt zum dividieren. Wenn der Divisor 0 ist wollen wir an unser Programm das Signal SIGFPE (siehe die Kapitel zuvor) senden um das Programm zu beenden....
Wenn sie also als Divisor den Wert 0 eingeben senden wir an unser Programm das Signal SIGFPE. Das Signal SIGFPE führt als Default - Aktion das Beenden des Programms aus.
Die Schreibweise kill(getpid(),signalnummer) ist übrigens gleichwertig zu raise(signalnummer)
Im Fehlerfall gibt kill -1 zurück, ansonsten 0. ![]() ![]() ![]() |