Ich habe ein Protokoll erstellt und möchte es bei energischer Beendigung des Python-Skripts aktualisiert werden. Dies wird dazu beitragen, alle wichtigen Beendigungen zu verfolgen. Ich habe es versucht, aber atexit()
läuft nur bei normaler Beendigung.Führen Sie eine Funktion bei der gewaltsamen Beendigung des Skripts in Python
Antwort
Nur die Ausnahme KeyboardInterrupt
fangen.
Dieses einfache Programm zeigt, wie eine Funktion ausgeführt werden kann, wenn die Ctrl +C Tastenkombination zu beenden gedrückt wird.
def main():
while True:
input('')
def onexit():
print('on exit')
try:
main()
except KeyboardInterrupt:
onexit()
Was ist mit Strg + Z? –
Das ist keine Kündigung obwohl es ist. Es bringt den Prozess zurück. Siehe https://superuser.com/questions/476873/what-is-effect-of-ctrl-z-on-a-unix-linux-application/476874 –
Dies funktioniert nicht für andere (Nicht-Tastatur-) Signale für Kündigung (zum Beispiel, erzwingt sie mit 'kill -SIGTERM'). Das Verwenden des "Signal" -Moduls und das Abhören aller "Beendigungssignale" ist eine umfassendere Lösung. – zwer
- 1. Verlust der Datenstruktur bei Beendigung des Programms
- 2. Führen Sie mehrere Python-Skripts gleichzeitig aus
- 3. So führen Sie lokale Python-Skripts in Jenkins UI aus
- 4. Führen Sie Python-Funktion von JavaScript-Funktion
- 5. Führen Sie eine Aufgabe bei der Deinstallation in Android
- 6. Ändern des Audioplayer-Symbols bei Beendigung der Wiedergabe
- 7. Timing-Ereignisse bei Beendigung der Sitzung
- 8. Führen Sie eine bestimmte Python-Funktion in C# mit IronPython
- 9. Führen Sie eine zeitgesteuerte Funktion in Bash
- 10. Benachrichtigung bei Benutzer Beendigung der App (iOS)
- 11. Ändern Sie den Namespace des importierenden Skripts in Python
- 12. Führen Sie eine Funktion in Timeout Looping
- 13. Führen Sie alle 5 Sekunden eine Bash-Funktion aus, lassen Sie aber den Rest des Skripts laufen
- 14. Führen Sie eine Funktion nach dem Beenden der Funktion vor
- 15. Konvertieren des * .py-Skripts in eine Zeichenfolge
- 16. Führen Sie eine Funktion alle X Minuten - Python
- 17. Führen Sie eine Python-Funktion für x Sekunden?
- 18. Ändern des Prozessnamen des Python-Skripts
- 19. In go, gibt es eine Möglichkeit Code bei Beendigung des Programms auszuführen?
- 20. OperationCanceledException VS TaskCanceledException bei Beendigung der Aufgabe
- 21. Führen Sie eine Curl-Anfrage in Python
- 22. Deadlock in Pythons Multiprocessing bei vorzeitiger Beendigung
- 23. So führen Sie SQL-Skripts direkt von der Eingabeaufforderung aus
- 24. Führen Sie eine Ruby-Bibliothek von der Befehlszeile aus
- 25. Führen Sie Python-Funktion mit Eingabeargumenten von der Befehlszeile aus
- 26. Beendigung des Programms beim Beenden
- 27. sqlite3 python unerwartete Beendigung
- 28. Führen Sie PHP-Funktion in einem anderen Teil des Codes
- 29. Führen Sie eine Funktion unendlich oft
- 30. Führen Sie eine Funktion gemäß Ajax Antwort
Wie wird das Skript beendet? Die Tastatur oder wird sie von etwas anderem getötet? –
Ja, Keyboard wird die Terminierung durchführen. –