El administrador de tareas de Windows tiene una columna llamada Línea de comando que muestra el comando que inició la tarea dada, con todos los modificadores y parámetros, por ejemplo:
test.exe -V -A 127.0.0.1 -P 6062
Ahora tengo que identificar una determinada tarea que está escuchando en un determinado puerto y / o fue llamada con una determinada combinación de conmutadores. Mi objetivo es cerrar la tarea seleccionada, pero no otras, por lo que si hay varias test.exe
tareas en ejecución, no puedo simplemente cerrar todas las tareas devueltas por:
tasklist /fo csv /nh /fi "imagename eq test.exe"
Desafortunadamente, parece que ni tasklist
ni pslist
( aquí ) es capaz de devolver el campo Línea de comando . ¿Cómo puedo superar este problema?
windows
command-line
batch
task-manager
István Zachar
fuente
fuente
netstat -aon | grep \.0:6062
puerto 6062 y la última columna sería el PID de su programa. No estoy seguro si eso es suficiente para ti.tasklist /FI "PID eq <PID>"
daría su ejecutable de nuevo.process explorer
de Sysinternals puede mostrarlos en la interfaz gráfica de usuario. Entonces la información debe estar en alguna parte.Respuestas:
Que tal este:
Y si haces esto, también obtienes el ProcessId para matar:
wmic
También tiene un interruptor para salida a csv. Entonces:Nota: Si obtiene un error con el último (
Invalid XSL format (or) file name
), debe copiarcsv.xml
de%WINDIR%\System32\wbem\en-US
a%WINDIR%\System32\wbem
. Puedes leer sobre este error aquí .También podría usar PowerShell:
fuente
wmic
resuelve el problema, y esto concluye el día. :)