Menedżer zadań systemu Windows ma kolumnę z etykietą Wiersz polecenia, która pokazuje polecenie, które uruchomiło dane zadanie, wraz ze wszystkimi przełącznikami i parametrami, na przykład:
test.exe -V -A 127.0.0.1 -P 6062
Teraz muszę zidentyfikować pewne zadanie, które nasłuchuje na określonym porcie i / lub zostało wywołane za pomocą określonej kombinacji przełączników. Moim celem jest zamknięcie wybranego zadania, ale nie innych, więc jeśli test.exe
uruchomionych jest wiele zadań, nie mogę po prostu zamknąć wszystkich zadań zwróconych przez:
tasklist /fo csv /nh /fi "imagename eq test.exe"
Niestety wydaje się, że ani tasklist
ani pslist
( tutaj ) nie jest w stanie zwrócić pola wiersza poleceń . Jak mogę rozwiązać ten problem?
windows
command-line
batch
task-manager
István Zachar
źródło
źródło
netstat -aon | grep \.0:6062
dla portu 6062, a ostatnią kolumną będzie PID twojego programu. Nie jestem pewien, czy to ci wystarczy.tasklist /FI "PID eq <PID>"
ponownie dałby plik wykonywalny.process explorer
z Sysinternals może pokazać je w GUI. Więc informacja musi gdzieś być.Odpowiedzi:
Co powiesz na ten:
A jeśli to zrobisz, otrzymasz ProcessId do zabicia:
wmic
ma także przełącznik do wyjścia do csv. Więc:Uwaga: Jeśli pojawi się błąd z ostatnim (
Invalid XSL format (or) file name
), musisz skopiowaćcsv.xml
z%WINDIR%\System32\wbem\en-US
do%WINDIR%\System32\wbem
. O tym błędzie możesz przeczytać tutaj .Możesz także użyć programu PowerShell:
źródło
wmic
rozwiązuje problem, a to kończy dzień. :)