Die C++exit()-Funktion kann den Prozess nicht beenden

exit() _exit() Unterschied:
_exit()-Funktion: stoppt den Prozess direkt, löscht den von ihm verwendeten Speicherplatz und zerstört seine verschiedenen Datenstrukturen im Kernel; die
Funktion exit() macht einiges Zum Packen werden mehrere Prozesse hinzugefügt bevor die Ausführung endet.

Der größte Unterschied zwischen der exit()-Funktion und der _exit()-Funktion besteht darin, dass die exit()-Funktion das Öffnen der Datei prüft, bevor sie den Exit-Systemaufruf aufruft, und den Inhalt des Dateipuffers zurück in die Datei schreibt.

Wenn das Programm zum Beenden des Prozesses exit() verwendet, wird der I/O-Cache vor dem Ende bereinigt und nicht sofort beendet.

Wenn das Programm eine Funktion schreibt, die das Signal verarbeitet, kann es dazu führen, dass das Signal erfasst wird und der Prozess nicht beendet werden kann, und das Programm in einen Zustand eintritt, der nicht beendet werden kann, und die Stapelinformationen immer gedruckt werden.

 

Wenn das Programm _exit() verwendet, um den Prozess zu beenden, wird die E/A-Cache-Bereinigung nicht durchgeführt und beendet. Lösen Sie die oben genannten Probleme. Aber die Funktion _exit() schließt den Prozess direkt und die Daten im Puffer gehen verloren.

exit() _exit()_Blog von LevinLin-CSDN blog_exit

Je suppose que tu aimes

Origine blog.csdn.net/Lemon_D1999/article/details/128870230
conseillé
Classement