Control+ Zwird zum Unterbrechen eines Prozesses verwendet, indem das Signal gesendet wird SIGSTOP
, das vom Programm nicht abgefangen werden kann. While Control+ Cwird verwendet, um einen Prozess mit dem Signal SIGINT
zu beenden. Es kann von einem Programm abgefangen werden, damit es sich vor dem Beenden selbst bereinigen oder gar nicht beenden kann.
Wenn Sie einen Prozess anhalten, wird dies in der Shell angezeigt, um Ihnen mitzuteilen, dass er angehalten wurde:
[1]+ Stopped yes
Wenn Sie jedoch eine beenden, wird nur eine Bestätigung angezeigt, die an eine Shell-Eingabeaufforderung zurückgegeben wird. Wenn Sie einen Prozess anhalten, können Sie auch damit etwas Besonderes anfangen. Zum Beispiel:
fg
Wenn ein Programm angehalten ist, wird es wieder in den Vordergrund gerückt.
Und den Befehl ausführen
bg
Wenn ein Programm angehalten ist, kann es im Hintergrund ausgeführt werden (die Programmausgabe wird jedoch weiterhin an TTY gesendet).
Wenn Sie eine aufgehängte Programm töten wollen, müssen Sie es nicht mit zurückbringen fg
erste, können Sie einfach den Befehl tun:
kill %1
Wenn Sie mehrere Befehle ausgesetzt haben, wird ausgeführt
jobs
listet sie wie folgt auf:
[1]- Stopped pianobar
[2]+ Stopped yes
Unter Verwendung %#
, wo #
die Auftragsnummer (die in eckigen Klammern aus dem jobs
Ausgang) mit bg
, fg
oder kill
kann verwendet werden , um die Aktion auf diesem Job zu tun.
stty
Befehl können Sie ändern, welche Tasten welchen Job ausführen. Zum Beispielstty susp ^Z
oderstty intr ^C
.amarok
und führen Sie sie auskillall amarok
, oder führenps aux
Sie die Prozess-ID aus , und suchen Sie sie neben dem Namen der ausführbaren Datei, und führen Sie sie auskill {process id}
.Strg + Z unterbricht den Vorgang mit SIGTSTP, Sie können ihn später fortsetzen. Strg + C bricht den Prozess mit SIGINT ab, wodurch der Prozess abgebrochen wird, es sei denn, er wird vom Ziel behandelt / ignoriert, sodass Sie ihn nicht fortsetzen können. Es gibt auch einen SIGSTOP, der gesendet werden kann
kill()
und den der Prozess nicht abfangen kann. SIGCONT ist das Gegenstück zu SIGSTOP und SIGTSTP, das den Prozess aufhebt.quelle
kill()
können Sie problemlosSIGSTOP
an eine Gruppe senden .STRG + Z stoppt (pausiert) einen Job
STRG + C beendet einen Job
Mit STRG + C können Sie den Vorgang nicht fortsetzen. Mit STRG + Z können Sie den Job jedoch fortsetzen, indem Sie einfach Folgendes an der Eingabeaufforderung eingeben:
Wenn Sie mehrere Prozesse angehalten haben, sollten Sie dies tun
um die Ausgabe zu sehen und die entsprechende Nummer auszuwählen, die fortgesetzt werden soll, z
setzt den dritten Job in der Liste fort. Sie können Jobs auch im Hintergrund mit ausführen lassen
Wobei n die Auftragsnummer ist.
quelle
Und
Mit Cntrl + C können Sie den Vorgang nicht fortsetzen. Mit Cntrl + Z können Sie den Vorgang fortsetzen.
Verwenden Sie fg% 1, um den Vorgang fortzusetzen.
quelle
CTRL+ Zstoppt (pausiert) einen Job
CTRL+ Cbeendet einen Job
Mit CTRL+ können CSie den Vorgang nicht fortsetzen, mit CTRL+ können Sie Zden Job jedoch fortsetzen, indem Sie einfach Folgendes an der Eingabeaufforderung eingeben:
Wenn Sie mehrere Prozesse angehalten haben, sollten Sie dies tun
um die Ausgabe zu sehen.
quelle
Die vorherigen Antworten sind korrekt, aber aus einem unbekannten Grund unterbricht Strg-Z auch alle untergeordneten Prozesse, aber killall -SIGSTOP ... unterbricht nur den vordersten (übergeordneten) Prozess und lässt die untergeordneten Prozesse so laufen, wie sie möchten.
quelle