Befehl beim schließen des Programms ausführen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Samstag 5. Juni 2010, 15:02

Hallo,

ich habe folgendes Problem...
ich will eine if Bedingung schreiben, die dann True wird wenn jemand die Konsole
des python scriptes schließt (also auf das X drückt). Geht so etwas ?
also bevor das script abgebrochen wird soll noch ein letzter Befehl
ausgeführt werden..

schon mal vielen dank

Teabag
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 5. Juni 2010, 15:08

Versuch es mal mit dem ``atexit``-Modul.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
jerch
User
Beiträge: 1628
Registriert: Mittwoch 4. März 2009, 14:19

Samstag 5. Juni 2010, 16:02

Das Ausführen von Pythoncode mit dem 'X'-Klick innerhalb eines in der Konsole laufenden Interpreters ist nicht trivial umsetzbar, da das OS dem Interpreterprozess hier den "Stecker zieht" und dieser nicht "normal" beendet wird (nur für das ordnungsgemäße Beenden ist 'atexit' zu gebrauchen).

Für Windows ginge es so: http://www.python-forum.de/viewtopic.ph ... 62#p169562
Bitte beachte auch die Hinweise weiter oben dazu.

Für Posixsysteme könntest Du etwas Analoges mit einem Signalhandler erreichen, wobei es auch hier Einschränkungen gibt und Du Dir womöglich mehr Probleme einhandelst als nötig.
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Samstag 5. Juni 2010, 18:27

okay vielen Dank...

Da dass nicht ganz so wichtig war und es ja leider nicht so einfach zu lösen ist, werde
ich es einfach lassen :D... denn da ich sowieso Linux habe fällt die Windowslösung
sowieso weg...

aber trotzdem vielen Dank =)

teabag
Antworten