¿Cómo enumera todos los procesos en la línea de comandos en Windows?

Respuestas:

373

Trabajando con cmd.exe:

tasklist

Si tienes Powershell :

get-process

Vía WMI:

proceso wmic

(también puede consultar máquinas remotas /node:ComputerOrIP, y hay MUCHAS más formas de personalizar este comando: enlace )

Factor místico
fuente
34
es posible que desee canalizarlo al portapapeles y luego pegarlo en el bloc de notas: c: \> tasklist | clip
3
Específicamente podría intentar> lista de tareas / FI "SERVICIOS eq wampapache"
RiggsFolly
Si enumero tareas con la lista de tareas, ¿cómo finalizo una tarea desde el símbolo del sistema?
Kyle Delaney
Si usa Powershell, es realmente conveniente canalizarlo a Out-Gridview, así: "Get-Process | Out-GridView"
Charles Burge,
1
O simplemente canalícelo directamente a un archivo de texto: C:> lista de tareas> C: \ myProcesses.txt
P.Brian.Mackey
85

Existe una herramienta llamada herramienta de línea de comandos de Instrumental de administración de Windows (wmic.exe) .

Puedes llamar wmic process listpara ver todos los procesos.

Paulius Maruška
fuente
44
Encontré este hilo mientras trataba de resolver el mismo problema, y ​​quería señalar que wmic funcionó bien para mí. Con wmic puede elegir la salida más adecuada para el análisis, utilizando / format: csv o / format: rawout. Cuidado: wmic no implementa el formato csv correctamente (los campos nunca se citan, incluso si contienen comillas o comas incrustadas), por lo que me vi obligado a usar xml.
JimN
1
@JimN - / format: rawxml y not / format: rawout
Joe
¿Puedes filtrar cualquier proceso usando wmic?
Kiquenet
Si necesita encontrar la línea de comando que inició el proceso, esta es la respuesta
Shane Gannon
29

Quería mencionar que WMIC (entrada de pam) puede hacer mucho más. Eche un vistazo a mi página de fragmentos de WMIC, que es una hoja de trucos que muestra muchas de las formas comunes de usar WMIC (con la salida de muestra que se muestra) aquí

usuario4197
fuente
19
  1. Lista de tareas

  2. WMIC / OUTPUT:C:\ProcessList.txt PROCESS get Caption, Commandline, Processid

o

 WMIC /OUTPUT:C:\ProcessList.txt path win32_process get Caption,Processid,Commandline

fuente
15

Intenté en Windows 7. El comando es: TASKLIST /FI "IMAGENAME eq application_name"

P.ej: c:\>TASKLIST /FI "IMAGENAME eq notepad.exe"

Para mostrar todos los procesos con detalles de puerto:

c:\> TASKLIST

También para matar el proceso puedes usar c:\> pskill or tskill processname

P.ej: c:\> tskill notepad


fuente
1
TASKLIST /FI "IMAGENAME eq explorer.exe"devuelve una línea completa como salida. ¿Hay alguna forma de obtener solo el PID en sí?
Pacerier
para un comando más humano-memorable, taskkilles sinónimo detskill
Mushroom Man
En 8.1, no existe tskillsolo taskkill, y pskilles proporcionado por SysInternals pero no por Windows. (@KiritoBepsibane)
dave_thompson_085
11

lista de tareas o pslist de sysinternals. Además, get-process es sorprendente desde PowerShell .

Hafthor
fuente
5

Si usa Powershell , tiene el comando 'ps' (tiene el alias de Get-Process)

usuario15123
fuente
2

Si ejecuta Windows XP, intente usar el comando 'tasklist'. Lo probé con Vista y parece que también funciona.

Marcel
fuente
1

Use este comando para ver todos los procesos en la máquina de Windows

lista de tareas / svc

LOKESH
fuente
1
¿Puedes filtrar cualquier proceso usando la lista de tareas con tubería u otra forma?
Kiquenet
@Kiquenet Sí se puede: tasklist|findstr "firefox.exe". Si esto devuelve un errorlevel1, el proceso se encontró en la lista de procesos.
mrt
@mrt: findstrno necesita comillas alrededor de la aguja a menos que contenga espacios o caracteres especiales como & aunque findsí, y ambos devuelven 1 para NO encontrado (0 para encontrado).
dave_thompson_085 01 de
@ dave_thompson_085 Por supuesto que tienes razón, pero en mi opinión es un buen hábito poner cadenas entre comillas. Esto me impide dejarlos fuera accidentalmente cuando son necesarios. Además, hace que la declaración sea más fácil de leer, ya que es instantáneamente obvio cuál es el término de búsqueda.
mrt
1

Para matar un proceso, use:

TASKKILL /F /IM processname.exe

Por ejemplo:

TASKKILL /F /IM firefox.exe
Garfio
fuente
Esta no es una buena respuesta. La pregunta es cómo enumerar los procesos, no cómo matarlos.
Rikki Gibson
0

Tuve el siguiente problema en Windows 2003 SP2: Tasklist no devolvió ningún resultado en stdout o stderr, cuando se llamó desde un proceso iniciado como servicio de Windows (incluso bajo una cuenta local). Lista de tareas devuelta con el código (no documentado) 128.

Llamado desde el mismo programa iniciado como un proceso normal (no como servicio), se ejecutó.

No hay ayuda para cambiarlo. No pude encontrar ninguna razón o solución, pero en lugar de usar "pslist / acceptteula" de sysinternal.

Mismo problema con taskkill: tuve que reemplazarlo con pskill.

Olivier Faucheux
fuente
0

He hecho un msproject (código fuente c), el archivo está disponible en: lsproc.zip project archive

y archivo exe: binario lsproc.exe

esta es una salida de herramienta de línea de comando:

lsproc 
Thierry Bremard
[email protected]
list binary files and driver with their local path on disks
most of code retreived from msdn site
--------------------

Process ID: 0
--------------------

Process ID: 4
<unknown>  (PID: 4)
<unknown>
    PageFaultCount             : 0x00002E4B
    PeakWorkingSetSize         : 0x00419000
    WorkingSetSize (Mem usage) : 0x0003A000 (232 ko)
    QuotaPeakPagedPoolUsage    : 0x00000000
    QuotaPagedPoolUsage        : 0x00000000
    QuotaPeakNonPagedPoolUsage : 0x00000000
    QuotaNonPagedPoolUsage     : 0x00000000
    PagefileUsage              : 0x00000000
    PeakPagefileUsage          : 0x00000000
--------------------

Process ID: 764
smss.exe  (PID: 764)
\SystemRoot\System32\smss.exe
    PageFaultCount             : 0x000000D6
    PeakWorkingSetSize         : 0x00082000
    WorkingSetSize (Mem usage) : 0x0006C000 (432 ko)
    QuotaPeakPagedPoolUsage    : 0x00006C34
    QuotaPagedPoolUsage        : 0x00001854
    QuotaPeakNonPagedPoolUsage : 0x000004D8
    QuotaNonPagedPoolUsage     : 0x00000280
    PagefileUsage              : 0x0002C000
    PeakPagefileUsage          : 0x00030000
--------------------

Process ID: 816
--------------------

Process ID: 844
winlogon.exe  (PID: 844)
\??\C:\WINDOWS\system32\winlogon.exe
    PageFaultCount             : 0x0000261D
    PeakWorkingSetSize         : 0x00B58000
    WorkingSetSize (Mem usage) : 0x0029B000 (2668 ko)
    QuotaPeakPagedPoolUsage    : 0x0001B054
    QuotaPagedPoolUsage        : 0x000185A4
    QuotaPeakNonPagedPoolUsage : 0x0000C988
    QuotaNonPagedPoolUsage     : 0x0000B6A0
    PagefileUsage              : 0x005EC000
    PeakPagefileUsage          : 0x006C6000
--------------------

...
    PeakPagefileUsage          : 0x03277000
--------------------

Process ID: 2712
lsproc.exe  (PID: 2712)
C:\Documents and Settings\LoginX\Bureau\lsproc.exe
    PageFaultCount             : 0x000000EC
    PeakWorkingSetSize         : 0x000F1000
    WorkingSetSize (Mem usage) : 0x000E4000 (912 ko)
    QuotaPeakPagedPoolUsage    : 0x000032B4
    QuotaPagedPoolUsage        : 0x000032B4
    QuotaPeakNonPagedPoolUsage : 0x00000400
    QuotaNonPagedPoolUsage     : 0x00000398
    PagefileUsage              : 0x00042000
    PeakPagefileUsage          : 0x0005C000
There are 131 drivers:
--------------------
   1: ntkrnlpa.exe
\WINDOWS\system32\ntkrnlpa.exe
--------------------
   2: hal.dll
\WINDOWS\system32\hal.dll
--------------------
   3: KDCOM.DLL
\WINDOWS\system32\KDCOM.DLL
--------------------
   4: BOOTVID.dll
\WINDOWS\system32\BOOTVID.dll


...


--------------------
 129: HTTP.sys
\SystemRoot\System32\Drivers\HTTP.sys
--------------------
 130: hiber_WMILIB.SYS
\SystemRoot\System32\Drivers\hiber_WMILIB.SYS
--------------------
 131: ntdll.dll
\WINDOWS\system32\ntdll.dll



--------------

fuente
archivo no encontrado, señor
Kiquenet
0

abrir símbolo del sistema de windows

C:\>tasklist                       // list all the tasks


C:\>Taskkill /IM firefox.exe /F     // Kill task by name

o

C:\>Taskkill /PID 26356 /F           // kill task by PId
spacedev
fuente
-1

Hola, si desea enumerar los ID de proceso en ejecución en una máquina con Windows, abra una cmdpantalla y escriba:

netstat -aon | more

usa la Entertecla para desplazarte.


fuente
Eso solo da procesos que están accediendo a la red, que NO es todos los procesos.
dave_thompson_085 01 de