Gibt es ein Befehlszeilenprogramm, das alle Prozesse mit einer bestimmten Befehlszeile beendet?
Beenden Sie beispielsweise alle Prozesse mit dem Namen "java.exe" mit einer Befehlszeile, die "-jar selenium-server.jar" enthält. Dies ist über den Process Explorer möglich.
windows
command-line
process
kill
ripper234
quelle
quelle
Antworten:
In Windows XP können Sie dies auf einfache Weise über WMIC, die WMI- Konsole, tun . Geben Sie in einer Befehlsanforderung Folgendes ein:
Bearbeiten:
Ich habe den Alias ' process ' durch den vollständigen Pfad (' path win32_process ') ersetzt, ebenso wie den Port von Aviator. Dieser Alias kann möglicherweise nicht auf jedem Betriebssystem deklariert werden.
quelle
Wenn Sie eine Windows-Version verwenden, in der der WMIC-Befehl enthalten ist. Sie können dies versuchen
Das
more +1
entfernt die erste Zeile, die den Header enthält, und gibt nur die PID aus. Wenn es mehr als einen Java-Prozess gibt, der selenium.jar enthält, wird eine PID pro Zeile zurückgegeben.quelle
Ich glaube, Sie könnten dies mit PowerShell tun, indem Sie Get-Process und die StartInfo.Arguments für den gewünschten Prozess verwenden.
(Ich habe das noch nicht vollständig getestet, aber Sie sollten in der Lage sein, es zu optimieren, damit es funktioniert.)
quelle
Einfacher Einzeiler in Powershell:
quelle
Power Shell:-
quelle
Ich verwende eine Variante von Brains PowerShell-Skript .
Hiermit werden auch die Befehlszeile und andere Informationen ausgegeben.
quelle
Eine weitere PowerShell-Variante. Es ist im Grunde das Gleiche, vielleicht einfacher zu tippen und sich zu erinnern. -match kann tatsächlich einen regulären Ausdruck annehmen.
quelle
Benutze den kostenlosen PsKill :
pskill java.exe
quelle