====== 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()]]