Frage

ich den folgenden Code erfolglos

sudo killall %4

Dabei steht% 4 ist meine Vim-Sitzung.

Wie kann man einen Job beenden, ohne es den Vordergrund zu?

War es hilfreich?

Lösung

Ich glaube, Sie „töten“ statt „killall“ wollen. Getestet habe ich unter tcsh wie folgt aus:

home% cat
^Z
Suspended
home% kill %1
home% 
[1]    Terminated                    cat

Außerdem bezweifle ich dies mit sudo funktionieren würde, weil sudo eine neue Shell aufrufen würde, wäre es nicht? Und in dieser Schale,% 4 nicht definiert werden.

home% cat
^Z
Suspended
home% sudo kill %1
Password:
kill: illegal process id: %1

Wenn Sie wirklich sudo benötigen, können Sie versuchen, diese:

home% jobs -l
[1] + 26318 Suspended cat
home% sudo kill 26318

Andere Tipps

Versuchen kill %4 statt. Das Unix-Shell verwendet% x als Variable für aktuell laufende Prozesse. Um die Prozesse sehen Sie mit der% x Syntax verwenden können, verwenden jobs. Killall ist ein Wrapper um „töten“, das im Grunde das Äquivalent von `ps -aux ist | grep | schneiden -f2 -d "" | xargs töten‘oder dergleichen, wenn Sie ein Shell-junky sind.

Nein, sorry, dass Shell-Befehl nicht ganz funktioniert, aber es funktioniert zeigen, wie killall funktioniert = p. Es tötet einfach jeden Prozess kann es, dass die Zeichenfolge entspricht, die Sie zur Verfügung stellen.

Versuchen Sie auch, `Mann töten‘ mehr zu Kill zu lernen. Insbesondere kill -9 können Sie nützlich finden. Es ist sorta das Äquivalent von ‚Sofort beenden‘.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top