Linux

Linux ps: cómo ver y filtrar procesos desde la terminal

noviembre 3, 2026 Qué es mejor? 10 min read
Linux ps: cómo ver y filtrar procesos desde la terminal

Linux ps: cómo ver y filtrar procesos desde la terminal

La respuesta rápida: qué combinación de ps conviene

Para la mayoría, ps aux ofrece la vista más completa; para buscar un PID, ps -p; para organizar padres e hijos, ps --forest; y para monitorización repetida, conviene top u htop.

Si estás Diagnosticando un servidor o una sesión local, empieza por ps aux: reúne los procesos de todos los usuarios y muestra identificadores, uso de CPU y memoria, terminal, tiempo acumulado y comando. Si ya conoces el PID, ps -p 1234 -f evita revisar toda la tabla. Para reconstruir quién lanzó qué, ps --forest -eo pid,ppid,user,cmd separa la jerarquía. Para observar cambios, top actualiza la pantalla de forma continua; htop añade navegación con teclado, pero requiere instalarlo.

Elige ps cuando necesitas una fotografía inmediata o filtrar una lista concreta. Elige top o htop cuando quieres seguir la evolución. En Ubuntu, Debian, Fedora, Linux Mint, Zorin OS, elementary OS y otros Linux, estas herramientas están disponibles en el sistema o en sus repositorios; la forma exacta de instalarlas depende de la distribución.

Antes de empezar: sintaxis, permisos y lectura básica

La sintaxis general es ps [opción ...]. Las opciones pueden ser de estilo BSD, como aux, o de estilo UNIX/GNU, como -p, -o y --sort. No todos los sistemasipers interpretan igual cada opción, así que comprueba man ps en la máquina donde trabajas.

  • PID: identificador numérico del proceso.
  • PPID: identificador del proceso padre.
  • TTY: terminal asociada; ? indica que no hay terminal controlada.
  • STAT: estado del proceso; puede combinar códigos como R, S o Z.
  • TIME: tiempo de CPU acumulado, no tiempo total desde el arranque.
  • CMD o COMMAND: comando que identifica el proceso.

No necesitas privileges de administrador para ver muchos procesos propios. Sin embargo, otro usuario puede ocultar detalles de su comando y ps puede mostrar información incompleta según la configuración del sistema y del contenedor. Ejecuta ps -eo pid,user,comm,args para una vista uniforme y ps -p $$ -o pid,ppid,tty,stat,cmd para comprobar el proceso de la propia shell.

Métodos para seleccionar y filtrar procesos

Método Ejemplo Processes que incluye Requisito Limitación
Terminal ps -t pts/0 Los asociados a esa terminal El nombre de TTY debe existir Puede incluir varios comandos de una misma sesión
Usuario ps -u nombre Los pertenecientes al usuario Conocer el nombre exacto No incluye otros usuarios salvo permisos suficientes
PID ps -p 1234 El proceso con ese PID Conocer el PID Termina vacío si el proceso ya no existe
Padre ps --ppid 1234 Los hijos directos de ese PID El proceso padre debe existir No muestra nietos salvo que se solicite la jerarquía
Nombre ps -C firefox Los procesos cuyo nombre ejecutable coincide Nombre exacto o expresión válida Puede omitir procesos con nombre de ejecutable distinto
Grupo ps -g 1000 Los procesos del grupo indicado Conocer el GID El resultado depende de cómo agrupe el sistema
Sesión ps -s 1234 Los procesos de la sesión indicada Conocer el SID No identifica necesariamente al proceso padre

Pasos para una selección fiable

  1. Ejecuta ps -eo pid,ppid,user,tty,stat,comm,args y localiza el proceso sospechoso; no dependas del formato visual por defecto.
  2. Aplica el filtro más específico, como ps -uTU_USUARIO -o pid,ppid,tty,stat,cmd.
  3. Añade columnas necesarias con -o, por ejemplo ps -C sshd -o pid,ppid,%cpu,%mem,stat,etime,cmd.
  4. Si quieres contexto familiar, combina --ppid y --forest, porque el filtro de padres no muestra por sí solo toda la descendencia.

Controlar columnas, ancho y jerarquía

-f activa el formato completo de GNU procps: muestra PID, PPID, una cadena de indicadores y el comando. -o permite escoger columnas exactas, por ejemplo pid,ppid,%cpu,%mem,rss,stat,etime,cmd. --sort ordena por una columna; ps -eo pid,%cpu,%mem,comm --sort=-%cpu coloca arriba los procesos con mayor porcentaje de CPU.

--forest muestra la relación entre padres e hijos mediante una indentación. --no-headers elimina la cabecera cuando vas a guardar la salida para procesarla. w amplía el ancho y evita cortes; --width 200 fija el ancho en caracteres. Los valores concretos de ancho dependen de la terminal, así que prueba 160 o 200 columnas únicamente como referencia de consulta.

Ejemplo: para revisar qué proceso ocupa memoria y quién lo inició, usa ps -eo pid,ppid,%cpu,%mem,rss,stat,etime,cmd --sort=-rss --forest. Para una salida estable en un archivo, añade --no-headers y w, y quita las columnas que no Necesites. Evita acumular demasiadas columnas: una tabla más ancha puede truncar CMD y ocultar el dato que estabas buscando.

  • Usa -o cuando necesites campos concretos.
  • Usa --sort para ordenar una sola métrica, no todas.
  • Usa --forest al investigar Diplomacyparent-child.
  • Usa w o --width antes de afirmar que el comando está truncado.

Leer estados, CPU y memoria sin confundir las cifras

Campo Qué mide Qué no mide Lectura correcta
STAT Estado operativo observado Consumo total de recursos R indica ejecutable o en ejecución; S espera、sueño o interrumpible; Z está terminado pero sin ser limpiado
TIME Tiempo de CPU acumulado Tiempo desde que arrancó Un proceso puede tener mucho tiempo acumulado y usar poca CPU en este momento
%CPU Porcentaje de CPU reportado por ps Consumo permanente ni porcentaje de memoria Es una medida puntual o acumulada según las opciones y la ejecución; compara procesos en la misma consulta
SIZE Memoria virtual reservada o mapeada Memoria física ocupada Un valor alto no implica que el proceso use esa cantidad de RAM
RSS Residente en memoria física Memoria virtual total Indica páginas residentes; no incluye necesariamente toda la memoria swap

Los valores de %CPU, %MEM, SIZE y RSS dependen del intervalo y de cómo se invoque ps; para observar una tendencia usa top o htop, que presentan lecturas sucesivas. TIME tampoco es el tiempo de pared: un proceso que espera 10 minutos manteniendo una conexión puede tener poco TIME.

Ejemplos resueltos para diagnóstico diario

Encontrar un servidor web

  1. Ejecuta ps -eo pid,ppid,user,%cpu,%mem,rss,stat,etime,comm --sort=-%cpu.
  2. Busca el proceso del servidor por comm, sin asumir que su nombre comercial coincide con el ejecutable.
  3. Revisa PPID, USER, STAT y ELAPSED para saber quién lo gestiona y cuánto tiempo lleva activo.
  4. Usa ps -p PID -f para ampliar la línea y comprobar la ruta completa del comando.

Detectar un proceso huérfano

  1. Ejecuta ps -eo pid,ppid,user,stat,etime,cmd --forest.
  2. Identifica un proceso con PPID igual a 1 y revisa si realmente pertenece a un servicio del sistema.
  3. No mates el proceso automáticamente: PPID=1 puede indicar daemonización, y eliminarlo puede detener un servicio.

Localizar tareas de VS Code

  1. Usa ps -ef | grep -i '[v]scode' para evitar mostrar la propia orden de búsqueda.
  2. Comprueba PID, PPID y TTY para separar el proceso principal de sus hijos.
  3. Si hay varios launcheders, pgrep -af -i vscode puede localizarlos, pero la salida puede incluir procesos que solo tengan “vscode” en otro argumento.

Procesos Determinado o Zombi

Ejecuta ps -eo pid,ppid,stat,cmd | awk '$3 ~ /^Z/'. Cada línea Z es un proceso terminado que aún no fue cosechado por su padre. La búsqueda localiza el proceso; no demuestra por sí sola que el sistema completo esté inutilizado.

Cuándo Replace ps por top, htop, atop o pgrep

Herramienta Purpose Actualización Historial Salida
ps Foto puntual y selección por PID, usuario, nombre o padre Manual, al ejecutarla No conserva histórico Texto y columnas configurables
top Seguir CPU, memoria y procesos en pantalla Continua No mantiene historial utilizable Tabla interactiva y orden por tecla
htop Navegación visual por teclado y vista de árbol Continua No mantiene historial Interfaz gráfica de terminal; requiere instalación
atop Revisar actividad del sistema y reconstruir episodes Periódica, según configuración Registro temporal de actividad Histórico y informes de sesiones
pgrep Obtener PIDs por nombre o atributos Manual No Lista de PIDs; combina con ps -p para ver columnas

Para una captura inmediata, quédate con ps. Para monitorización continua en Ubuntu, Debian, Fedora, Linux Mint o Zorin OS, top viene habitualmente en el entorno base; htop puede ser más cómodo, pero añade una dependencia de instalación. Para histórico de recursos y eventos, atop es la opción adecuada si está instalado y configurado. Para saber si existe un proceso concreto, pgrep -af PATRÓN evita recorrer una tabla completa.

Errores frecuentes y solutions de comprobación

  • Listado vacío: comprueba el PID, el usuario o el nombre exacto; añade -o pid,user,stat,cmd y revisa si el proceso ya terminó.
  • Proceso sin terminal: un TTY con ? puede ser normal en daemons; no lo interpretes como error.
  • Comando truncado: usa w, --width 200 o -o cmd=; comprueba el ancho real de la terminal.
  • Permisos insuficientes: verifica con ps -eo user,pid,cmd si aparecen datos reducidos; no cambies a root sin confirmar qué proceso estás investigando.
  • CPU mal interpretada: compara %CPU dentro de la misma ejecución y recuerda que TIME es CPU acumulada.
  • Memoria mal interpretada: separa SIZE, memoria virtual, de RSS, memoria residente; no sumes ambos como si fueran RAM ocupada.
  • Orden inesperado: añade --sort=-%cpu o --sort=-rss y conserva --no-headers si la salida se procesará como texto.
  • Zombi persistente: localiza el PID y su PPID; el zombi no ejecuta trabajo y debe ser cosechado por su padre.

Comprueba siempre el comportamiento de tu distribución con man ps: las opciones y columnas disponibles dependen de la versión instalada de procps.

Los datos están comprobados en octubre de 2026.

Preguntas frecuentes sobre ps en Linux

1. ¿Qué es el comando ps?

Es una herramienta de Unix y Linux que muestra información sobre los procesos activos. Con ps se consultan PID, usuario, uso de CPU, memoria y tiempo de ejecución; por ejemplo, ps -p 1234 muestra el proceso 1234. No es interactiva y, por defecto, solo devuelve una fotografía del sistema.

2. ¿Cómo funciona el comando `ps aux` en Linux?

ps aux combina tresocumentation? No, let's formulate: combina dos estilos de salida: -a muestra procesos de todos los usuarios y -u añade columnas como usuario, porcentaje de CPU y memoria. En Linux suele incluirse x para mostrar también los que no tienen terminal. La forma habitual es ps aux o ps -aux.

3. ¿Cómo encuentro procesos con `ps aux | grep`?

ps aux | grep nombre filtra la salida de ps buscando una cadena, por ejemplo ps aux | grep nginx. Usa grep -v grep para excluir la propia línea del filtro: ps aux | grep nginx | grep -v grep. Este método puede omitir coincidencias parciales o procesos cuyo nombre no contenga ese texto; pgrep es más directo.

4. ¿Qué diferencia hay entre `ps aux` y `top`?

ps aux ofrece una vista instantánea en formato de texto y resulta útil para capturar la salida en un archivo. top se actualiza continuamente y ordena o clasifica procesos según criterios como CPU o memoria. Para obtener una lista ordenada por CPU, conviene ejecutar ps aux --sort=-%cpu | head.

5. ¿Qué opciones tiene el comando `ps` en Linux?

Entre las más útiles están -p PID para seleccionar procesos, -u usuario para filtrar por usuario y -e para mostrar todos. --sort=-%cpu ordena por uso de CPU y --sort=-%mem, por memoria; ps -eo pid,user,%cpu,%mem,comm permite elegir columnas. Las opciones pueden variar entre sistemas Unix y Linux, así que conviene consultar man ps.

6. ¿Qué es el comando `ps` en Unix y Linux?

ps es una utilidad estándar de Unix y Linux para consultar el estado de los procesos desde la terminal. Permite ver qué programas se ejecutan, qué usuario los launched y cuánto consumen, sin instalar herramientas adicionales. La sintaxis y algunas opciones cambian entrebsd? No, neutralizar: Unix BSD traditionally muestra más campos y Linux usa varias variantes de opciones. man ps explica las disponibles en cada sistema.

Fuentes

  1. FlaviocopesLinux commands: ps – Flavio Copesconsultado el 23/10/2026
  2. DigitalfoundryPlayStation 5 Linux Tested: Steam PC vs Native PS5 Gamesconsultado el 23/10/2026
  3. Coloradolinux – ps (1)consultado el 23/10/2026
  4. ShpvGestion processus Linux 2026 : ps, top, htop, kill et systemctl détailléconsultado el 23/10/2026
  5. Geeksforgeeksps Command in Linux – GeeksforGeeksconsultado el 23/10/2026