Brechen Sie gewaltsam eine for-Schleife in sh

1332
ZimmyDubZongyZongDubby

Wenn ich in sh eine for-Schleife auf der Kommandozeile ausführte und Strg-C drücke, wird der laufende Prozess normalerweise abgebrochen. Ich muss also ^ C so lange gedrückt halten, bis die Shell selbst es fängt und die Schleife unterbricht. Gibt es eine Möglichkeit, den aktuellen Prozess und die Schleife sofort zu unterbrechen?

7

1 Antwort auf die Frage

11
Shawn Chin

Der einfachste Weg, den ich kenne, wäre, den Vordergrundjob ( ^Z) auszusetzen und ihn dann mit der Job-ID ( kill %<JOB_ID>) zu beenden .

Beispiel:

[me@host]$ while [ : ]; do less /etc/motd; done # Ctrl-C can't kill this 

Nach einem Ctrl+z

[1]+ Stopped less /etc/motd  [me@host]$ kill %1 [me@host]$ 

Die Nummer in den Klammern ( [1]) am Anfang der Suspendierungsnachricht gibt Ihnen die Job-ID.

Mit dem jobsBefehl können Sie auch IDs angehaltener Jobs auflisten .