====== raise() ======
raise() ist definiert in der ''[[start|signal]]'', die in C über ''signal.h'', bzw. in C++ über ''csignal'' eingebunden wird.
===== Funktion =====
raise() springt an ein Ziel, das über die übergebene Umgebungs-Struktur definiert ist.
Dabei wird ein Makro übergeben, das die Art des Signals angibt:
raise( SIGTERM );
===== Signatur =====
#include 
int raise( signal sig );
**sig**: Das auszulösende Signal\\ 
**Rückgabewert**: 0 bei Erfolg, ansonsten ein von 0 verschiedener Wert
\\ 
\\ 
Für ''sig'' stehen dabei folgende Makros zur Verfügung:
^ Name     ^ Signal                       ^ Bedeutung                    ^
| SIGABRT  | Abort                        | Wird durch [[c:lib:stdlib:abort|abort()]] ausgelöst |
| SIGFPE   | Floating-Point Exception     | Ungültigen Berechnung (z.B. Division durch 0) |
| SIGILL   | Illegal Instruction          | Fehler bei der Programmausführung |
| SIGINT   | Interrupt                    | Wird ausgelöst, wenn das Programm gestoppt werden soll (z.B. durch Strg+C) |
| SIGSEGV  | Segmentation Violation       | Speicherzugriffsfehler |
| SIGTERM  | Terminate                    | Programm soll beendet werden |
===== Beispiel =====
#include 
#include 
int main()
{
  printf( "Vor dem Signal\n" );
  raise( SIGTERM );
  printf( "Nach dem Signal\n" );
  return 0;
}
\\ 
Ausgabe:
  Vor dem Signal
  Terminated
Man kann hier deutlich erkennen, dass die Ausführung direkt nach der Auslösung des Signals abgebrochen wird.
===== siehe auch =====
[[start|signal-Library]]: [[signal|signal()]]