abort(3) Library Functions Manual abort(3)

abort - Auslösen anormaler Prozessbeendigung

Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

#include <stdlib.h>
[[noreturn]] void abort(void);

Die Funktion abort() hebt zuerst die Blockierung des Signals SIGABRT auf und löst das Signal dann für den aufrufenden Prozess aus (als ob raise(3) aufgerufen worden wäre). Dies führt zur anormalen Prozessbeendigung, außer wenn das Signal SIGABRT abgefangen wird und der Signal-Handhaber nicht zurückkehrt (siehe longjmp(3)).

Falls das Signal SIGABRT ignoriert oder vom Handhaber der zurückkehrt abgefangen wird, wird die Funktion abort() weiterhin den Prozess beenden. Es erledigt dies, indem es die Standard-Disposition für SIGABRT wieder herstellt und dann das Signal erneut auslöst.

Wie bei anderen Fälle anomaler Beendigung werden die mit atexit(3) und on_exit(3) registrierten Funktionen nicht aufgerufen.

Die Funktion abort() kehrt niemals zurück.

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
abort() Multithread-Fähigkeit MT-Sicher

C11, POSIX.1-2008.

SVr4, POSIX.1-2001, 4.3BSD, C89.

Bis einschließlich Glibc 2.26 wurden alle offenen Datenströme geschlossen und rausgeschrieben (wie mit fclose(3)), falls die Funktion abort() zur Prozessbeendigung führte. Dies konnte allerdings in einigen Fällen zu Verklemmungen und Datenbeschädigungen führen. Daher beendet abort() seit Glibc 2.27 den Prozess ohne die Datenströme rauszuschreiben. POSIX.1 erlaubt beide möglichen Verhaltensweisen und teilt mit, dass abort() »alle Versuche unternehmen darf, fclose() auf allen offenen Datenströmen durchzuführen«.

gdb(1), sigaction(2), assert(3), exit(3), longjmp(3), raise(3)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

31. Oktober 2023 Linux man-pages 6.06