Frage von gerlochi, 72

Was tun damit Python nicht stoppt?

Hallo, ich würde gerne ein Python-Programm schreiben das bei Strg+C nicht stoppt. Ich hbae schon versucht alle Funktionen in einem Try einzuschleusen und dann mit except KeyboardInterrupt zu verhindern das es abschmiert, doch wenn ich es das 2. mal drücke, dann beendet es sich trotzdem. Gibt es eine möglichkeit wie z.B. KeyListener?

Danke im Vorraus, Gerlochi.

Antwort
von kloogshizer, 24

Mit STRG+C wird ein Software-Interrupt ausgelöst und an die Applikation im Vordergrund gesendet. "kill" sendet auch je nach Parameter eine solches Signal SIGINT, SIGKILL, SIGTERM, etc. an den entsprechenden Prozess. Es ist also gewissermaßen eine Anweisung an das Betriebssystem, dass mit dem Prozess etwas passieren soll. Du kannst das Verhalten aber auch selbst festlegen, wenn eines der Signale an den Prozess gesendet wird.

Was du dafür normalerweise brauchst ist ein Interrupt-Handler, das ist eine Routine in dem Programm, in dem du das Verhalten der Signale (SoftwareInterrupts) bestimmen kannst. Wenn du dann STRG+C drückst, springt das Programm zu dieser Routine (,die dann z.B. nichts macht).

Bei STRG+C wird das Signal SIGINT ausgelöst. 

Kommentar von gerlochi ,

danke

Antwort
von Waterfront, 46

Du musst /-offcobra einbauen dann funktioniert es

Kommentar von gerlochi ,

Danke, aber das verstehe ich nicht ganz, wie meinst du "/-offcobra einbauen"? Gibt es einen Code-Schnipsel dafür, oder muss ich es als Argument in der Konsole beim starten anhängen?

Keine passende Antwort gefunden?

Fragen Sie die Community