tasklist - Mostrar procesos en ejecución
Cuando el PC va lento, cuando quieres encontrar el proceso que consume mucha memoria o cuando quieres comprobar si una aplicación concreta está en ejecución, el comando tasklist resulta muy útil.
tasklist muestra desde el símbolo del sistema información detallada de todos los procesos (tareas) en ejecución.
Este artículo explica los conceptos básicos de tasklist, cómo filtrar y dar formato a la salida y cómo usarlo en archivos por lotes.
Si solo quieres saber si una aplicación está en ejecución, consulta Comprobar si un proceso concreto está en ejecución.
¿Qué es el comando tasklist?
El comando tasklist muestra la lista de procesos que se están ejecutando en el equipo local o en un equipo remoto.
Es como manejar el Administrador de tareas desde la línea de comandos y muestra información como:
- Nombre de imagen: el nombre del programa en ejecución (p. ej., chrome.exe, notepad.exe)
- PID (id. de proceso): un número único que identifica el proceso
- Nombre de sesión: la sesión en la que se ejecuta el proceso
- Uso de memoria: la cantidad de memoria que usa el proceso
- Información de servicios: los servicios que aloja el proceso
Uso básico
La sintaxis básica del comando tasklist es la siguiente.
tasklist [/S sistema] [/U usuario] [/P contraseña] [/M módulo | /SVC | /V] [/FO formato] [/NH] [/FI filtro]
/V, /SVC y /M no se pueden usar a la vez.
El uso más sencillo es ejecutar tasklist sin opciones.
Esto muestra en una tabla todos los procesos en ejecución.
El PID (id. de proceso) es un número de identificación único asignado a cada proceso. Se usa, por ejemplo, para finalizar un proceso concreto. Ten en cuenta que los ejemplos muestran separadores de miles en el uso de memoria para facilitar la lectura, pero el PID no se muestra con separadores.
Opciones del comando tasklist
tasklist tiene opciones para mostrar más detalle o cambiar el formato de salida.
| Opción | Descripción |
|---|---|
/V | Muestra información detallada (estado, título de ventana, etc.) |
/SVC | Muestra los servicios alojados en cada proceso |
/M | Muestra los procesos que han cargado el módulo DLL indicado |
/FO | Especifica el formato de salida (TABLE, LIST, CSV) |
/NH | Oculta los encabezados de columna |
/FI | Filtra los procesos que se muestran |
/S | Especifica un equipo remoto |
/U | Especifica el nombre de usuario con el que se ejecuta el comando |
/P | Especifica la contraseña de la cuenta de usuario |
La opción /V: mostrar detalles
La opción /V muestra información más detallada.

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超 入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
Se muestra información adicional como el estado, el nombre de usuario, el tiempo de CPU y el título de la ventana.
Con /V resulta fácil identificar los procesos que no responden y los que llevan mucho tiempo en ejecución.
La opción /SVC: mostrar servicios
La opción /SVC muestra los servicios que aloja cada proceso.
Esto ayuda a solucionar problemas de los servicios de Windows.
La opción /FO: formato de salida
Puedes elegir el formato de salida entre TABLE, LIST y CSV (separado por comas).
Salida en formato CSV
La salida CSV es fácil de analizar en Excel o en scripts de Python. También sirve para registrar periódicamente la información de procesos y seguir la evolución del uso de memoria.
Salida en formato LIST
La opción /NH: ocultar encabezados
La opción /NH omite los encabezados de columna. Funciona con los formatos TABLE y CSV y es útil para pasar los resultados a otros comandos.
Filtrado
Con la opción /FI puedes mostrar solo los procesos que cumplen una condición.
Filtros disponibles
| Filtro | Operadores | Descripción |
|---|---|---|
STATUS | eq, ne | Estado del proceso (RUNNING, NOT RESPONDING, UNKNOWN) |
IMAGENAME | eq, ne | Nombre de imagen |
PID | eq, ne, gt, lt, ge, le | Id. de proceso |
SESSION | eq, ne, gt, lt, ge, le | Número de sesión |
SESSIONNAME | eq, ne | Nombre de sesión |
CPUTIME | eq, ne, gt, lt, ge, le | Tiempo de CPU |
MEMUSAGE | eq, ne, gt, lt, ge, le | Uso de memoria (en KB) |
USERNAME | eq, ne | Nombre de usuario |
SERVICES | eq, ne | Nombre de servicio |
WINDOWTITLE | eq, ne | Título de ventana |
MODULES | eq, ne | Nombre de DLL |
Operadores
| Operador | Significado |
|---|---|
eq | Igual a |
ne | Distinto de |
gt | Mayor que |
lt | Menor que |
ge | Mayor o igual que |
le | Menor o igual que |
Buscar un proceso concreto
Ejemplo: mostrar solo los procesos con un nombre concreto.
En los filtros de cadena como IMAGENAME y USERNAME se puede usar * como comodín (p. ej., "IMAGENAME eq chrome*"). El filtro STATUS no se puede usar con un equipo remoto (/S).
Filtrar por uso de memoria
Ejemplo: mostrar los procesos que usan 100 MB (100 000 KB) o más de memoria.
El uso de memoria en un filtro se expresa en KB (kilobytes). Para indicar 100 MB, escribe 100000.
Filtrar por id. de proceso
Ejemplo: mostrar los procesos cuyo id. de proceso es mayor que 1000.
Combinar varios filtros
Puedes indicar varias opciones /FI para crear condiciones más detalladas.
Ejemplo: mostrar los procesos en ejecución que usan 50 MB o más de memoria.
Ejemplos prácticos
Guardar en un archivo en formato CSV
Ejemplo: guardar la información de procesos en un archivo en formato CSV.
Esto guarda la información de procesos en el archivo processes.csv.
En Windows en japonés, un archivo guardado con redirección usa la codificación Shift_JIS (CP932). Puede verse mal en herramientas que esperan UTF-8; en ese caso hay que convertir la codificación.
Comprobar si un proceso concreto está en ejecución
Pasa el resultado de tasklist al comando find y decide según su nivel de error.
@echo off
setlocal
tasklist /FI "IMAGENAME eq notepad.exe" /NH | find /I "notepad.exe" >nul
IF %ERRORLEVEL% EQU 0 (
echo notepad.exe está en ejecución.
) ELSE (
echo notepad.exe no está en ejecución.
)
endlocal
Cuando ningún proceso cumple la condición, tasklist devuelve igualmente el código de salida 0 y muestra un mensaje indicando que no hay tareas que coincidan con los criterios. Por eso find comprueba si el nombre del proceso aparece en la salida.
Buscar procesos que no responden
Ejemplo: comprobar si hay procesos que no responden.
Este comando identifica rápidamente las aplicaciones que no responden. Tras comprobar el PID, puedes forzar su cierre con el comando taskkill.
Mostrar los procesos de un usuario concreto
Ejemplo: mostrar los procesos ejecutados por un usuario concreto.
Mostrar los procesos que no son del sistema
Ejemplo: mostrar los procesos distintos de los del sistema NT.
Registrar periódicamente la información de procesos
Ejemplo: registrar la información de procesos en un archivo por lotes.
El formato de fecha y hora depende de la configuración regional. El siguiente ejemplo supone el formato yyyy/mm/dd.
@echo off
setlocal
REM Obtener la fecha y hora actuales
set datetime=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set datetime=%datetime: =0%
REM Guardar la información de procesos en un archivo
tasklist /V /FO CSV > "process_log_%datetime%.csv"
echo Información de procesos guardada: process_log_%datetime%.csv
endlocal
exit
Resumen
Este artículo explicó cómo comprobar los procesos en ejecución con el comando tasklist.
Puntos principales:
tasklistmuestra todos los procesos en ejecución/Vmuestra detalles y/SVCmuestra información de servicios/FOcambia el formato de salida (TABLE, LIST, CSV)/FIfiltra la salida para mostrar solo ciertos procesos- Se puede filtrar por uso de memoria o por id. de proceso
- Combina
tasklistyfindpara comprobar si un proceso concreto está en ejecución - La salida CSV sirve para analizar datos
Con tasklist puedes conocer en detalle el estado del sistema y realizar de forma eficiente la resolución de problemas y la supervisión del rendimiento.
Comandos relacionados
Para la administración de procesos, consulta también lo siguiente.