2 Stimmen

Wie kann ich die Grundlagen der Shell-Job-Steuerung in Python implementieren?

Es gibt grundlegende Jobsteuerungsfunktionen wie Unterbrechen, Fortsetzen, Unterbrechen und Hintergrund in den meisten modernen Shells implementiert.

Wie kann ich eine Shell in Python empfindlich auf ^Z, fg, ^C und bg (wie sie in bash erscheinen) machen? Oder was sollte ich lesen?

0voto

Gilles Quenot Punkte 153339

Kein Bedarf, etwas zu tun :

python -c 'import time; time.sleep(600)'

Sie können alle Ihre Tastenkombinationen testen ;)

0voto

Pedro Lacerda Punkte 1008

Sie können Signale, die an Ihr Programm gesendet werden, mit dem signal-Modul erfassen. Zum Beispiel bedeutet ^Z SIGTSTP in Unix-ähnlichen Systemen.

import signal
jobs = []

def handler(signum, frame):
    jobs.append(frame)

signal.signal(signal.SIGTSTP, handler)

Jetzt, wenn Sie Strg+Z eingeben, wird handler aufgerufen und "fang" gedruckt. Sie können ^C mit signal.SIGINT erfassen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X