В диспетчере задач Windows есть столбец с именем Командная строка, в котором показана команда, запустившая данную задачу, со всеми параметрами и параметрами, например:
test.exe -V -A 127.0.0.1 -P 6062
Теперь я должен определить определенную задачу, которая прослушивает определенный порт и / или была вызвана с определенной комбинацией переключателей. Моя цель - закрыть выбранную задачу, но не другие, поэтому, если test.exe
запущено несколько задач, я не могу просто закрыть все задачи, возвращаемые:
tasklist /fo csv /nh /fi "imagename eq test.exe"
К сожалению, кажется , что ни один, tasklist
ни pslist
( здесь ) может вернуть командную строку поле. Как я могу преодолеть эту проблему?
windows
command-line
batch
task-manager
Иштван Захар
источник
источник
netstat -aon | grep \.0:6062
для порта 6062, и последний столбец будет PID вашей программы. Не уверен, что этого достаточно для вас.tasklist /FI "PID eq <PID>"
даст ваш исполняемый файл снова.process explorer
Sysinternals может показать их в графическом интерфейсе. Так что информация должна быть где-то.Ответы:
Как насчет этого:
И если вы сделаете это, вы также получите ProcessId для уничтожения:
wmic
также есть переключатель для вывода в CSV. Так:Примечание: если вы получили ошибку с последним (
Invalid XSL format (or) file name
), вам нужно скопироватьcsv.xml
из%WINDIR%\System32\wbem\en-US
в%WINDIR%\System32\wbem
. Вы можете прочитать об этой ошибке здесь .Вы также можете использовать PowerShell:
источник
wmic
решает проблему, и на этом день заканчивается. :)