Si te encargas de administrar equipos Windows o te toca diagnosticar problemas de rendimiento, PsList es una de esas utilidades que conviene llevar siempre a mano. Forma parte de la suite PsTools de Sysinternals y, desde una simple consola, te permite radiografiar procesos, hilos, memoria y jerarquías tanto en local como en remoto.
Más allá de listar procesos, PsList puede comportarse como un “mini administrador de tareas” desde la línea de comandos, refrescando la información de forma continua, mostrando árboles de procesos y filtrando por nombre o PID. Y si lo combinas con PsKill y PsExec, pasas de observar a actuar: localizar, terminar y relanzar un proceso de forma controlada.
Qué es PsList y para qué sirve
PsList es una herramienta de consola de Sysinternals diseñada para enumerar procesos con su telemetría más útil. En una sola salida verás columnas como prioridad, número de hilos, identificadores abiertos y estadísticas de memoria (memoria virtual, conjunto de trabajo, memoria privada), junto a tiempos de CPU y de ejecución.
La gran baza es que puede consultar tanto el equipo local como un destino remoto accesible. Si tus credenciales no alcanzan para leer los contadores de rendimiento de un equipo remoto, puedes indicar usuario y contraseña explícitos para autenticación y acceso a los datos del sistema objetivo.
Cómo obtiene los datos (y por qué te puedes fiar)
Al igual que el Monitor de rendimiento (PerfMon), PsList lee la información desde los contadores de rendimiento de Windows. Esto garantiza consistencia con lo que verías en herramientas gráficas del propio sistema y explica que, en entornos remotos, necesites privilegios adecuados para consultarlos.
Un detalle importante: todos los valores de memoria que muestra PsList están en kilobytes (KB). Si comparas con herramientas que informan en MB, recuerda ajustar la escala para no malinterpretar magnitudes.
Compatibilidad, versión y descarga
PsList es parte del paquete PsTools, que se descarga como un ZIP ligero (tamaño aproximado 5 MB). No requiere instalación: basta con descomprimir y ejecutar desde cualquier carpeta incluida en el PATH, o invocando la ruta completa.
En plataformas actuales, está soportado en Cliente: Windows 8.1 y posteriores; Servidor: Windows Server 2012 y posteriores. Históricamente se ha usado también en Windows Vista/Server 2008 y, dentro de la suite, hay soporte mencionado para Nano Server 2016+, aunque conviene validar en cada entorno. La utilidad se clasifica como “Utilidades de procesos” y la página de Sysinternals refleja versiones publicadas y fechas de actualización (por ejemplo, v1.4 con última actualización 29/06/2016), mientras que salidas antiguas pueden mostrar rótulos como “PsList 1.26”, algo normal por la evolución del proyecto.
Sintaxis y parámetros imprescindibles
La sintaxis de PsList es flexible, cubre desde filtros simples por nombre a vistas avanzadas de memoria e hilos. Estos son los modificadores clave y lo que hacen en la práctica.
| Parámetro | Qué hace |
|---|---|
pslist exp |
Lista procesos cuyo nombre comienza por ese prefijo (por ejemplo, «exp» incluiría Explorer). |
-d |
Muestra detalles de subprocesos (hilos) por proceso. |
-m |
Centra la salida en estadísticas de memoria. |
-x |
Activa una vista combinada de procesos, memoria e hilos. |
-t |
Muestra el árbol de procesos (relación padre-hijo). |
-s |
Ejecuta en modo de muestreo continuo durante n segundos (pulsa Escape para cancelar). |
-r n |
Define el intervalo de actualización del muestreo en segundos (por defecto 1). |
\\equipo |
Interroga un equipo remoto en lugar del sistema local. |
-u |
Especifica el usuario para iniciar sesión en el remoto. |
-p |
Proporciona la contraseña en la línea de comandos; si indicas cuenta y omites -p, PsList la pedirá de forma interactiva. |
nombre |
Filtra para mostrar procesos que empiezan por ese nombre. |
-e |
Fuerza la coincidencia exacta con el nombre del proceso. |
pid |
Restringe la salida al proceso con ese PID concreto (por ejemplo, pslist 53). |
Con esta tabla puedes cubrir de un vistazo los casos más habituales: filtrar por prefijo, hacer zoom en memoria o hilos, ver jerarquías y auditar por PID, además de la ejecución contra equipos remotos de tu red.
Abreviaturas y lectura de columnas

Para compactar la información, PsList usa abreviaturas estándar. Conocerlas facilita interpretar la salida y tomar decisiones rápidas.
| Columna | Significado |
|---|---|
| Pri | Prioridad del proceso en el planificador. |
| Thd | Número de hilos activos. |
| Hnd | Recuento de handles (identificadores) abiertos. |
| VM | Memoria virtual asignada. |
| WS | Working Set o conjunto de trabajo en RAM. |
| Priv | Memoria virtual privada del proceso. |
| Priv Pk | Pico de memoria privada alcanzado. |
| Faults | Conteo de fallos de página. |
| NonP | Tamaño del pool no paginado. |
| Page | Tamaño del pool paginado. |
| Cswtch | Número de cambios de contexto. |
Además de estas abreviaturas, la salida muestra CPU Time y Elapsed Time, lo que te ayuda a detectar procesos colgados o con consumo anómalo de recursos que llevan ejecutándose demasiado tiempo.
Ejemplos prácticos de uso
Para empezar por lo sencillo, puedes filtrar procesos cuyo nombre empiece por una cadena concreta. Es la forma más rápida de acotar lo que buscas cuando no recuerdas el PID.
pslist svchost
Si ya conoces el identificador, limita la salida a un único proceso por PID y revisa su uso de hilos y memoria sin ruido visual.
pslist 888
Cuando busques una fotografía lo más completa posible, activa la vista combinada para ver procesos, memoria e hilos en una sola pasada.
pslist -x
Para entender la relación entre progenitores y descendientes, la vista de árbol es la mejor aliada para desentrañar jerarquías y localizar quién invocó a quién.
pslist -t
Modo muestreo: refresco continuo al estilo “Task Manager”
¿Necesitas observar cómo varían CPU y memoria durante unos segundos? Usa el modo de muestreo y, si lo deseas, ajusta la frecuencia de refresco. Este modo permanece en pantalla hasta acabar el tiempo o pulsar Escape.
pslist -s 15 -r 2
En el ejemplo anterior, PsList queda activo 15 segundos actualizando la salida cada dos segundos. Es perfecto para cazar picos fugaces que una ejecución puntual no mostraría.
Trabajo remoto: credenciales y seguridad
Una de las funciones más útiles es la consulta de procesos en máquinas remotas. Basta con anteponer el destino con doble barra inversa y, si hace falta, indicar usuario y contraseña con sintaxis de dominio.
pslist \\EQUIPO-REMOTO -u DOMINIO\Administrador -p
Si proporcionas el usuario pero omites la contraseña, PsList solicitará la password de forma interactiva, ideal cuando ejecutas manualmente y no quieres exponerla en el historial de la consola. En scripts, valora mecanismos de secreto para no dejar credenciales en claro.
Ten presente que en muchas organizaciones hay políticas y cortafuegos que restringen el acceso a contadores de rendimiento remotos; si ves mensajes de “acceso denegado”, revisa permisos y reglas antes de culpar a la herramienta.
Salida típica y lectura rápida
Cuando ejecutas PsList contra un equipo, obtendrás una tabla con nombre de proceso, PID, prioridad, hilos, handles, memoria e indicadores temporales. A modo ilustrativo, este es el formato habitual (verás variaciones según versión y localización):
Name Pid Pri Thd Hnd Priv CPU Time Elapsed Time
System 4 8 74 378 0 0:00:10.765 0:00:00.000
explorer.exe 1000 13 25 500 123456 0:01:05.234 0:39:55.421
En algunas capturas antiguas llegas a ver rótulos como “PsList 1.26” en la cabecera; no te preocupes si difiere del número de versión actual, ya que el formato de columnas se mantiene muy similar con el paso del tiempo.
Combinar PsList con PsKill y PsExec
Localizado el proceso problemático, puedes intervenir con otras herramientas de PsTools. El flujo típico es: listar, terminar y relanzar (si procede) sobre el mismo equipo local o remoto.
pslist -t \\
pskill -t \\ -u EQUIPO\UsuarioAdmin -p
psexec \\ -u EQUIPO\UsuarioAdmin -p "C:\\Ruta\\Programa\\app.exe"
El modificador -t de PsKill mata el proceso y su descendencia, algo crucial cuando hay subprocesos colgados. Después, con PsExec puedes lanzar de nuevo el ejecutable y simular un “reinicio” del servicio o de la aplicación.
PsTools: qué más incluye el paquete

PsList nació como la primera herramienta de un conjunto mayor que hoy conocemos como PsTools. Todas se orientan a la administración local y remota sin instalación en el equipo destino, lo que las vuelve especialmente prácticas.
- PsExec: ejecuta procesos de forma remota.
- PsFile: muestra archivos abiertos de forma remota.
- PsGetSid: obtiene el SID de un equipo o usuario.
- PsInfo: lista información del sistema (incluye Uptime).
- PsPing: mide rendimiento de red.
- PsKill: termina procesos por PID o nombre.
- PsLoggedOn: consulta quién inició sesión (local y recursos compartidos).
- PsLogList: vuelca registros de eventos.
- PsPasswd: cambia contraseñas de cuentas.
- PsService: visualiza y controla servicios.
- PsShutdown: apaga y reinicia equipos.
- PsSuspend: suspende procesos.
Ninguna requiere instalación especial y se ejecutan desde consola con sus opciones. Para ver ayuda detallada en cada una, añade el modificador -? a la llamada.
PsList y DFIR: cuando “pslist” significa análisis de memoria
En respuesta a incidentes y forense de memoria, el término “pslist” aparece en Volatility, la plataforma para analizar volcados de RAM. Aunque el objetivo es distinto (no analizas un equipo vivo, sino una captura), la idea común es reconstruir la actividad de procesos.
En Volatility 2, el listado se obtiene con pslist, el escaneo de procesos ocultos con psscan y la jerarquía con pstree. Existe además psxview para contrastar vistas y destapar ocultaciones que no se ven en un único método.
# Volatility 2
vol.py -f memdump.raw --profile <perfil> pslist
vol.py -f memdump.raw --profile <perfil> psscan
vol.py -f memdump.raw --profile <perfil> pstree
vol.py -f memdump.raw --profile <perfil> psxview
Volatility 3 adopta sintaxis con prefijo de plataforma, por lo que verás windows.pslist, windows.psscan o windows.pstree. No hay un equivalente directo de psxview en V3, aunque se cubren otros frentes con plugins específicos.
# Volatility 3
vol.py -f memdump.raw windows.pslist
vol.py -f memdump.raw windows.psscan
vol.py -f memdump.raw windows.pstree
El ecosistema de Volatility se completa con módulos para red (windows.netscan), módulos del kernel (windows.modules), servicios (windows.svcscan), archivos (windows.filescan, windows.dumpfiles), handles (windows.handles), DLLs (windows.dlllist), líneas de comando (windows.cmdline) y registro (windows.printkey), entre otros.
Herramientas relacionadas que amplían la perspectiva
A veces necesitas ver más allá del listado de procesos. Estas utilidades complementan a PsList cuando toca profundizar.
- tlist.exe: de las Debugging Tools; admite árbol (
-t) y filtros por PID o expresiones. - pulist.exe: del antiguo kit de Windows 2000; muy básica, lista nombre, PID y usuario; puede consultar equipos remotos.
- cmdline: muestra la línea de comandos y flags con los que se lanzó un proceso.
- handle: enumera handles abiertos y permite cerrar alguno concreto.
- listdlls: enumera DLLs cargadas por cada proceso y sus rutas.
- pmdump: vuelca memoria de un proceso por PID para análisis avanzado.
- Process Explorer: interfaz gráfica muy completa, ideal cuando no necesitas scripting.
Comandos útiles para evidencias volátiles en Windows
En un ejercicio de adquisición rápida de evidencias, además de PsList, hay comandos que ayudan a capturar estado del sistema y red. Puedes encadenarlos en un script para obtener todo de una tacada.
- Procesos en ejecución con aceptación de EULA:
pslist.exe /accepteula >> Procesos.txt - Procesos y consumo general:
tasklist.exe >> Procesos_en_uso.txt - Árbol de procesos:
pslist.exe -t /accepteula >> procesos_arbol.txt - Dependencias DLL por proceso:
listdlls.exe /accepteula >> Procesos_dependencias.txt - Handles abiertos:
Handle.exe /accepteula >> Procesos_manejadores.txt - Conexiones activas:
netstat -an | findstr /i estado listening established >> Conexiones_activas.txt - IPs y DNS:
ipconfig /allyipconfig /displaydnspara configuración y caché. - Cache ARP:
arp -a >> arp-cache.txt - Relación de aplicaciones y puertos:
netstat -anob > Aplicaciones_PuertosAbiertos.txt - Tabla de rutas:
netstat -r >> Tabla_rutas.txt - Sesiones NetBIOS:
nbtstat -sy caché NetBIOS:nbtstat -c - Unidades mapeadas:
net use > UnidadesMapeadas.txt - Recursos compartidos:
net share > CarpetasCompartidas.txt - Ficheros abiertos (remotos):
psfile.exe /accepteula >> Ficheros_remotos_abiertos.txt - Sesiones y logons:
net sessions,logonsessions.exe /accepteula,psloggedon.exe /accepteula - Servicios en ejecución:
sc query >> servicios_ejecucion.txt - Portapapeles:
pclip.exe >> Contenido_portapapeles.txto InsideClipboard en modo texto. - Histórico de consola:
doskey /history >> HistoricoCMD.txt
Recuerda que estos comandos, como PsList, deben ejecutarse con las precauciones debidas; lo ideal es dominarlos antes de un caso real de forense para no contaminar innecesariamente el sistema.
Consejos operativos y buenas prácticas
Si vas a hacer muestreos con -s y -r en equipos cargados, evita intervalos excesivamente agresivos que añadan ruido al rendimiento. Ajusta la cadencia a lo que quieras capturar.
En automatización, plantéate no pasar contraseñas en claro; el prompt interactivo o un cofre de secretos minimizan la exposición en logs e historiales. Y cuando la salida de PsList te interese para auditoría, redirígela a fichero o encadénala con filtros.
pslist -x > informe_pslist.txt
pslist -m | findstr /i "chrome firefox"
Si encuentras discrepancias en traducciones o documentación secundaria, recurre a la fuente oficial de Sysinternals. La comunidad y el foro de PsTools son recursos valiosos para resolver dudas y revisar casos reales.
Guía rápida de instalación y ejecución
No hay que instalar nada en el equipo remoto: descomprime PsTools en tu equipo y ejecuta desde la consola. Incluye el directorio en el PATH o llama a los binarios por su ruta. Para ver la ayuda de PsList, añade -? a la invocación.
pslist -?
Si tu empresa tiene repositorios internos o scripts de despliegue, mantén actualizada la versión de PsTools. El paquete incluye un HTML de ayuda con todos los comandos y opciones, útil para consultas rápidas sin conexión.
Casos de uso frecuentes
Mantenimiento remoto: desde tu consola, lista procesos de una máquina, finaliza lo que esté colgado con PsKill y relanza con PsExec sin abrir escritorio remoto ni tocar servicios sensibles de forma brusca.
Auditoría y scripting: genera reportes periódicos con salida a CSV o texto, filtra procesos sospechosos con findstr y archiva en un repositorio central para comparativas temporales.
PsList ofrece una ventana clara al estado de los procesos y su consumo en tiempo real, funciona en local y remoto, y se integra como un guante con el resto de PsTools. Cuando además controlas su lectura de columnas, el muestreo continuo y los filtros por nombre o PID, se convierte en una navaja suiza para administración, troubleshooting y forense rápido en Windows.