Gibt es eine Möglichkeit (möglicherweise ein Skript), diesen Prozess zu automatisieren:
petr@sova:~$ ps -ef | grep middleman
petr 18445 2312 1 12:06 pts/2 00:00:01 /home/petr/.rvm/gems/ruby-1.9.3-p362/bin/middleman
petr 18581 13621 0 12:08 pts/0 00:00:00 grep --color=auto middleman
petr@sova:~$ kill -9 18445
Leider pkill
ist mir das zu schwach, da ich mit -9
Option weiter machen muss kill
.
-9
mitpkill
auch verwenden ...-KILL
als-9
. Welche Zahl welchem Signal entspricht, ist implementierungsabhängig.SIGKILL
zufällig9
auf Linux i386 und Linux amd64, aber nicht unbedingt überall. ( Mehr Infos hier. )-KILL
auch (weil es Code besser lesbar macht), ist zu beachten, dassSIGKILL = 9
sich durch POSIX spezifiziert , so-9
ziemlich tragbar ist heutzutage (und hängt nicht von Kernel oder Architekturen).Antworten:
Sie können Ihre Shell verwenden, um diese Aufgabe für Sie zu erledigen:
Die Shell führt zuerst den Befehl aus
pidof middleman
. Die Ausgabe von pidof (8) ist die Prozess-ID. Daher ersetzt die Shell denpidof
Befehl -c durch die Prozess-ID und führt sie auskill -9 18845
(oder wie auch immer die korrekte Prozess-ID lautet).quelle
kill -9 $(pgrep middleman)
?Es gibt eine noch einfachere Lösung als die von qbi:
killall
Sie können Prozesse mit Namen beenden und Signale angeben.Sehen Sie
man killall
für weitere Informationen und zusätzliche Optionen (es gibt nicht wenige).Wie der Name schon sagt, sendet dies das Signal an alle genannten Prozesse
middleman
. Aber das unterscheidet sich nicht von anderen Möglichkeiten (wiepkill
). Darüber hinauspkill -9 middleman
werden auf Prozesse abgezielt, deren Name zwar übereinstimmt, jedoch nicht identisch istmiddleman
, zmiddleman2
. B. auch.quelle
killall
für den Sieg!Die anderen Antworten sind völlig richtig, aber ich könnte genauso gut eine dritte Option hinzufügen, damit alle hier dokumentiert sind. Sie können auch verwenden:
Sehen Sie
man pkill
für weitere Informationen und zusätzliche Optionen.Es spielt keine Rolle, welche dieser Methoden Sie verwenden. Sie werden alle funktionieren. Das Kennen der Optionen ist jedoch hilfreich, wenn Sie das Verhalten auf irgendeine Weise ändern möchten, da auf den entsprechenden Manpages angezeigt wird, welche anderen Übereinstimmungsoptionen verfügbar sind.
quelle
middleman*
middleman
. Hier werden die Unterschiede, wie genaupkill
,killall
,pidof
undgrep
Match Prozesse wirklich zu Materie beginnen!Mit dieser
-f
Option wird die Übereinstimmung mit der gesamten Befehlszeile und nicht nur mit dem Prozessnamen hergestellt.Beachten Sie, dass
-9
dies ein Signal für den letzten Ausweg sein sollte, das nicht routinemäßig verwendet werden sollte.quelle
complete command line
Nur zum Spaß möchte ich eine manuellere, altmodischere Art hinzufügen
quelle
... grep [m]iddleman ...
, um zu vermeiden, dass dergrep
Prozess versehentlich beendet wird. Auf diese Weise kann sich das Grep aufgrund von witzigen Zitaten nicht anpassen.Dies ist interaktiv (sicher) und entspricht dem Teilbefehlsnamen.
quelle