- PsList lista estadísticas detalladas de procesos e hilos, local y remoto, apoyándose en contadores de rendimiento de Windows.
- Requiere privilegios administrativos y Remote Registry activo para consultas remotas; admite -accepteula y prerregistro de licencia.
- Parámetros clave: -m (memoria), -d (hilos), -t (árbol), -x (vista completa), -s y -r (modo continuo), filtros por nombre, -e y PID.
- Se integra con PsTools como PsKill y PsExec y tiene equivalentes como TASKLIST, Get-Process o el comando ps en Linux.
PsList es una utilidad de la suite PsTools de Sysinternals pensada para auditar procesos en sistemas Windows, tanto locales como remotos, con precisión de cirujano. Su gran baza es mostrar estadísticas detalladas de CPU, memoria e hilos, con opciones para ver árbol de procesos, filtrar por nombre o PID y operar en modo parecido al Administrador de tareas.
Lo que hace realmente atractivo a PsList es que se puede usar sin instalación y también contra otros equipos Windows si tenemos permisos de administrador. Combinado con otras PsTools como PsKill o PsExec se convierte en un comodín para diagnóstico y administración remota, y por eso figura en casi cualquier caja de herramientas de sistemas.
Qué es PsList y para qué sirve
PsList forma parte del conjunto PsTools, una colección de utilidades de línea de comandos creada por Mark Russinovich y Bryce Cogswell que Microsoft incorporó tras adquirir Sysinternals. El prefijo Ps homenajea al comando ps de UNIX, y PsList en concreto permite consultar información detallada de procesos y subprocesos en ejecución.
La herramienta muestra, por defecto, métricas de tiempo de CPU y memoria física asignada por el sistema operativo a cada proceso. Podemos enfocarla a memoria con la opción -m o extenderla a hilos con -d y -t, cubriendo así escenarios forenses o de resolución de incidencias de rendimiento.
Una ventaja clave es que PsList no requiere agentes en el remoto ni instalaciones complejas: se ejecuta directamente. Para equipos remotos basta con credenciales administrativas y el servicio Remote Registry activo, que veremos cómo iniciar en los ejemplos.
Compatibilidad, requisitos y consideraciones previas
Según la documentación más reciente de Sysinternals, la suite PsTools se ejecuta en entornos modernos: cliente desde Windows 8.1 y superior, y servidor desde Windows Server 2012 y superior, incluyendo Nano Server 2016 y posteriores. Otras fichas históricas citan compatibilidad previa con Windows Vista y Server 2008; en la práctica, PsList ha sido ampliamente utilizable en múltiples generaciones de Windows.
Para consultar procesos en un equipo remoto necesitaremos derechos de administrador sobre ese host, y que el servicio Remote Registry esté iniciado. Sin ese servicio activo, PsList no podrá leer contadores de rendimiento de manera remota, algo imprescindible para recuperar las métricas que muestra.
La primera vez que lancemos PsList aparece el diálogo de licencia de Sysinternals. Puede suprimirse añadiendo el conmutador -accepteula o preaceptando la clave de registro en el perfil del usuario que ejecuta la herramienta.
PsList puede colocarse en cualquier carpeta incluida en la variable de entorno PATH o ejecutarse desde el directorio actual. No precisa instalación ni dependencias en el equipo local ni en el remoto, lo que simplifica su uso en scripts y sesiones ad hoc.
Sintaxis y parámetros principales
La sintaxis general de PsList admite consultas locales y remotas, filtrado por nombre o PID, y modos extendidos de salida. Estas son las opciones clave que conviene tener a mano:
PsLIST [-?] [-t] [-m] [-x] [\\equipo [-u usuario] [-p contraseña]] [nombre | pid] [-d] [-e] [-r n] [-s [n]] [-accepteula]
Explicación resumida de cada parámetro. Las descripciones se han unificado a partir de las referencias oficiales y guías prácticas:
Parámetro | Descripción |
---|---|
pslist exp | Muestra estadísticas de procesos cuyo nombre comienza por exp, por ejemplo Explorer. Ideal para filtrar por prefijo. |
-d | Incluye detalle de hilos por proceso. Útil para diagnosticar bloqueos o picos aislados. |
-m | Cambia la vista por defecto de CPU a una centrada en memoria. Muestra métricas orientadas a uso de memoria. |
-x | Salida extendida: CPU, memoria y subprocesos en la misma vista. Panorama completo en un solo comando. |
-t | Árbol de procesos con estadísticas de todos los hilos activos, agrupados por su proceso dueño. Visualiza jerarquía y relaciones. |
-s [n] | Modo Administrador de tareas durante n segundos opcionales. Pulsa Escape para abortar. Refresco continuo en consola. |
-r n | Intervalo de refresco del modo tipo Administrador de tareas en segundos; por defecto 1. Ajusta la cadencia de actualización. |
\\equipo | Consulta a un sistema Windows remoto en vez del local. Requiere credenciales válidas y Remote Registry. |
-u usuario | Nombre de usuario para iniciar sesión en el equipo remoto. Puede incluir dominio si aplica. |
-p contraseña | Contraseña del usuario. Se transmite en texto claro; si se omite, se solicitará de forma oculta. Usar con cautela en scripts. |
nombre | Filtra procesos que empiecen por el nombre indicado. Foco rápido por prefijo. |
-e | Obliga a coincidencia exacta del nombre de proceso. Evita falsos positivos por prefijos similares. |
pid | En lugar de listar todo, muestra estadísticas del proceso con el PID especificado. Diagnóstico puntual por identificador. |
-? | Muestra ayuda de opciones y unidades de medida. Recordatorio de uso desde la línea. |
-accepteula | Suprime el aviso de licencia la primera vez. Facilita ejecución no interactiva. |
Qué información muestra y abreviaturas de memoria
Por defecto verás el tiempo total de ejecución del proceso, el tiempo en modo kernel y en modo usuario, además de memoria física asignada. Con -m se prioriza la información de memoria en lugar de CPU, y con -x se combinan CPU, memoria e hilos.
PsList utiliza los contadores de rendimiento de Windows para obtener los datos que presenta, igual que hace PerfMon. Este enfoque garantiza métricas coherentes con el propio sistema y evita depender de APIs inestables.
Las unidades de memoria se expresan en kilobytes. Las abreviaturas que aparecen en la salida son estas:
- Pri: prioridad del proceso.
- Thd: número de hilos.
- Hnd: número de identificadores.
- VM: memoria virtual.
- WS: conjunto de trabajo.
- Priv: memoria virtual privada.
- Priv Pk: pico de memoria virtual privada.
- Faults: errores de página.
- NonP: pool no paginado.
- Page: pool paginado.
- Cswtch: cambios de contexto.
Entender estas etiquetas es clave para investigar consumos atípicos de memoria, pérdidas de recursos o tormentas de cambios de contexto. Con ellas podrás distinguir si el problema es de working set, memoria privada o gestión de paginación.
Ejemplos prácticos y casos de uso
Listar procesos de un equipo remoto llamado workstation64 requiere que el servicio Remote Registry esté activo. Podemos iniciarlo y consultar procesos con estos comandos:
C:\> SC \\workstation64 start RemoteRegistry
C:\> pslist.exe \\workstation64
Filtrar por prefijo de nombre es tan sencillo como usar el nombre parcial. Este ejemplo muestra procesos cuyo nombre empieza por exp:
pslist exp
Para ver únicamente la información de un proceso exacto, utiliza -e para coincidencia exacta. Así evitas capturar procesos colaterales que compartan prefijo:
pslist -e explorer
Si conoces el PID, puedes centrarte en un único proceso. El siguiente comando vuelca la estadística del proceso 53:
pslist 53
Autenticación remota con solicitud interactiva de contraseña, evitando exponerla en texto claro en la línea de comandos. PsList pedirá el secreto de forma oculta:
pslist \\MAQUINA -u MAQUINALOGIN
Ejemplo de salida abreviada en una consulta remota en la que PsList solicita la contraseña, muestra cabecera y las columnas principales. Recuerda que los campos de memoria están en KB:
PsList - Process Information Lister
Process information for MAQUINA:
Name Pid Pri Thd Hnd Priv CPU Time Elapsed Time
Idle 0 0 2 0 0 1:15:30.953 0:00:00.000
System 4 8 74 378 0 0:00:10.765 0:00:00.000
Cuando necesites monitorizar varias métricas en tiempo real, el modo tipo Administrador de tareas resulta muy útil. Con -s activas la vista continua y con -r ajustas el intervalo:
pslist -s 30 -r 2
Árbol de procesos y detalle de hilos
La opción -t genera un árbol que agrupa hilos bajo su proceso propietario, lo que facilita ver jerarquías, padres e hijos. En escenarios de inyección o procesos huérfanos, esta vista marca la diferencia.
Si además necesitas granularidad de hilos, añade -d para obtener métricas por cada subproceso. Combinado con -x, verás CPU, memoria e hilos en un único resultado, agilizando análisis complejos sin encadenar múltiples comandos.
Instalación, licencia y primeros pasos
Ninguna herramienta de PsTools requiere instalación. Coloca pslist.exe en una carpeta del PATH o en el directorio actual y ejecútalo. Para ver ayuda detallada, puedes invocar la opción -?.
La primera ejecución muestra el EULA de Sysinternals. Para entornos automatizados existe el conmutador -accepteula o el prerregistro de aceptación añadiendo esta clave en el perfil del usuario:
Set-ItemProperty -Path 'Registry::HKEY_CURRENT_USER\Software\Sysinternals' -Name 'EulaAccepted' -Value 1
Si vas a operar en remoto, asegúrate de tener privilegios administrativos en el equipo objetivo y habilita el servicio Remote Registry. De lo contrario, no se podrán leer los contadores de rendimiento del sistema remoto y la consulta fallará.
Cómo funciona PsList por debajo
PsList obtiene su información de los contadores de rendimiento de Windows, igual que lo hace la consola PerfMon. Este mecanismo está disponible desde Windows NT y 2000 y se mantiene en versiones actuales, lo que explica la consistencia de sus métricas a lo largo del tiempo.
Al apoyarse en el subsistema de contadores, PsList no necesita técnicas invasivas ni ganchos de bajo nivel. Eso reduce el riesgo de inestabilidad y garantiza datos fiables para CPU, memoria y hilos, alineados con lo que verías en las herramientas nativas de Windows.
Suite PsTools: utilidades hermanas y flujo de trabajo
PsList brilla aún más cuando se combina con otras utilidades del paquete PsTools. Estas son las herramientas incluidas en el set según la documentación:
- PsExec: ejecutar procesos de forma remota.
- PsFile: mostrar archivos abiertos de forma remota.
- PsGetSid: mostrar el SID de un equipo o usuario.
- PsInfo: enumerar información de sistema.
- PsPing: medir el rendimiento de red.
- PsKill: terminar procesos por nombre o PID.
- PsList: listar información detallada de procesos.
- PsLoggedOn: ver quién ha iniciado sesión localmente o por recursos compartidos.
- PsLogList: volcar registros de eventos.
- PsPasswd: cambiar contraseñas de cuentas.
- PsService: ver y controlar servicios.
- PsShutdown: apagar o reiniciar un equipo.
- PsSuspend: suspender procesos.
Un flujo típico es localizar un proceso con PsList (filtrado por nombre exacto con -e o por prefijo), evaluar su consumo y, si procede, finalizarlo con PsKill. También puedes extraer inventario del sistema con PsInfo antes de tomar decisiones.
Unidades, salida y modos de visualización
Por defecto, PsList prioriza las métricas de CPU y tiempo. Si tu foco es memoria, no olvides alternar con -m para ver working set, memoria privada y picos con más protagonismo.
El modo continuo con -s es perfecto para capturar ráfagas de consumo que se pierden en una fotografía puntual. Ajusta -r para reducir el ruido o ganar granularidad según el volumen de procesos y la carga del sistema.
Equivalentes y comandos relacionados
En el ecosistema Windows dispones de alternativas según contexto. Task Manager es la referencia visual, y TASKLIST ofrece un listado básico desde CMD; TLIST aporta rutas completas en algunas versiones.
En PowerShell, Get-Process cumple funciones similares, aunque con diferente profundidad y formato. Para escenarios Linux o WSL, el símil natural es el comando ps, que inspiró originalmente esta familia de herramientas.
En tareas forenses y de rendimiento puedes combinar PsList con ProcDump para capturar volcados ante picos, o con OPENFILES para investigar ficheros abiertos. El ecosistema de Sysinternals cubre desde diagnóstico hasta administración remota con mínima fricción.
Seguridad, credenciales y buenas prácticas
La opción -p transmite la contraseña en texto claro, lo que no es ideal en scripts o sesiones compartidas. Es preferible omitir -p y dejar que PsList solicite la contraseña de forma oculta cuando sea posible.
Para automatización controlada, -accepteula y el prerregistro de la EULA evitan pausas interactivas. Recuerda ejecutar con un usuario que tenga privilegios suficientes tanto en el equipo local como en el remoto.
Si la consulta remota falla, revisa conectividad, privilegios y que el servicio Remote Registry esté iniciado. Un rápido SC \\equipo start RemoteRegistry suele destrabar la lectura de contadores cuando todo lo demás está en orden.
Versiones, categoría y notas históricas
PsList ha evolucionado con los años y aparece referenciado en diversas fichas y catálogos técnicos. Verás menciones a versiones como 1.26 o v1.4 en material histórico, junto a notas de última actualización más antiguas, propias de repositorios o portales técnicos.
En la documentación más actual de Sysinternals, PsList y el resto de PsTools se presentan como parte de un paquete unificado. La categoría habitual es utilidades de procesos y la descarga oficial agrupa todas las herramientas con su ayuda en HTML.
Integraciones avanzadas y enriquecimiento de resultados
Aunque PsList no calcula hashes ni verifica firmas por sí mismo, puede integrarse en flujos más amplios donde se añadan metadatos como hash de ejecutable o verificación Authenticode. En esas integraciones es habitual cruzar PID, ruta del binario, línea de comandos y usuario con información de token o de firma digital.
Existen playbooks que seleccionan procesos por expresiones regulares en nombre, PID, ruta del ejecutable o línea de comandos, y que filtran binarios no confiables según Authenticode. Esta clase de enriquecimiento es útil para priorizar riesgos y focalizar la respuesta ante incidentes.
Instalación y soporte de la suite
La suite PsTools se distribuye en un paquete único que incluye un archivo de ayuda con instrucciones de uso de cada herramienta. No requiere componentes en equipos remotos y se ejecuta directamente con los conmutadores oportunos. Si necesitas resolver dudas, los foros de Sysinternals han sido históricamente una referencia de soporte comunitario.
Como curiosidad, PsList fue una de las primeras herramientas del conjunto y dio forma a la filosofía de administración remota sin agentes que caracteriza a PsTools. Ese enfoque sigue vigente hoy gracias a su bajo coste operativo y su fiabilidad.
PsList se consolida como una utilidad ligera y contundente para entender qué ocurre en memoria y CPU en tiempo real, local o remotamente. Controlando sus parámetros -m, -d, -t, -x, -s y -r y cuidando los requisitos de permisos y Remote Registry, podrás diagnosticar con rapidez, apoyar decisiones y automatizar comprobaciones críticas en Windows.