Wie beendet man einen Prozess mit einem einzigen Befehl?

Wie beendet man einen Prozess mit einem einzigen Befehl?

Ich möchte einen Prozess beenden, nachdem ich die ID in einem einzigen Schritt gefunden habe.

Ich verwende derzeit diese beiden Befehle:

pidof <name>
kill <#number_which_is_result_of_command>

Wie kann ich einen einzelnen Befehl schreiben, um dies zu tun?

Antwort1

Sie können Prozesse auch anhand ihres Namens beenden:

Beispiel:

pkill vim  # kill all processes containing vim in the process name

Antwort2

Um Ihre spezifische Frage mit Ihrem Befehlssatz zu beantworten, verwenden Sie:

kill `pidof <name>`

Da pidof <name>es Ihnen die PID des Prozesses gibt, den Sie beenden möchten, können Sie es auch mit Befehlszeilenschaltern wie -9usw. verwenden.

Getestet mit bashund tcsh.

Antwort3

Sollte ein Kommentar zu Levons Seite sein, aber mir fehlt hier der Ruf, dies zu tun:

Ausführliche Darstellung der Diskussion in der akzeptierten Antwort auf diese Frage:https://serverfault.com/questions/397762/how-to-make-folders-00-99-with-a-single-command-in-ubuntu

Ich würde sagen, es könnte vorzuziehen sein (oder zumindest nützlich/klarer für spätere Sucher),

kill $(pidof <name>)

Weitere Hinweise zu $() vs. ``:http://mywiki.wooledge.org/BashFAQ/082

Antwort4

Sie können auch killalleinen Befehl verwenden, um den jeweiligen Prozess zu beenden.

killall vim

verwandte Informationen