Der Windows-Task-Manager verfügt über eine Spalte mit der Bezeichnung Befehlszeile , in der der Befehl angezeigt wird, mit dem die angegebene Task gestartet wurde, einschließlich aller Optionen und Parameter. Beispiel:
test.exe -V -A 127.0.0.1 -P 6062
Jetzt muss ich eine bestimmte Aufgabe identifizieren, die auf einem bestimmten Port lauscht und / oder mit einer bestimmten Switch-Kombination aufgerufen wurde. Mein Ziel ist es, die ausgewählte Aufgabe zu schließen, aber nicht andere. Wenn also mehrere test.exe
Aufgaben ausgeführt werden, kann ich nicht einfach alle Aufgaben schließen, die zurückgegeben wurden von:
tasklist /fo csv /nh /fi "imagename eq test.exe"
Leider scheint es weder tasklist
noch pslist
( hier ) möglich zu sein, das Befehlszeilenfeld zurückzugeben . Wie kann ich dieses Problem lösen?
windows
command-line
batch
task-manager
István Zachar
quelle
quelle
netstat -aon | grep \.0:6062
für Port 6062 tun und die letzte Spalte wäre die PID Ihres Programms. Nicht sicher, ob das für Sie ausreicht.tasklist /FI "PID eq <PID>"
würde deine ausführbare Datei wieder geben.process explorer
abzurufen ... von Sysinternals können diese in der GUI angezeigt werden. Also muss die Info irgendwo sein.Antworten:
Wie wäre es mit diesem:
Und wenn Sie dies tun, erhalten Sie auch die ProcessId, um zu töten:
wmic
hat auch einen schalter zur ausgabe an csv. So:Hinweis: Wenn Sie einen Fehler mit dem letzten erhalten (
Invalid XSL format (or) file name
) müssen Sie kopierencsv.xml
aus%WINDIR%\System32\wbem\en-US
zu%WINDIR%\System32\wbem
. Sie können über diesen Fehler hier lesen .Sie könnten auch PowerShell verwenden:
quelle
wmic
löst das Problem und damit ist der Tag zu Ende. :)