CMD Master
Volver al blog
ActualizadoArnošt Havelka

Cómo listar procesos en ejecución con ps en Bash

Usa ps en Bash para listar procesos, interpretar el PID y el propietario, inspeccionar un proceso y saber cuándo conviene una vista dinámica con top.

Iniciar lección interactiva
Cómo listar procesos en ejecución con ps en Bash

Para ver qué se está ejecutando desde una terminal Bash, empieza con ps. El comando sin opciones muestra los procesos asociados a tu terminal actual. Usa ps -ef cuando necesites una lista más amplia de todo el sistema y lee juntos el PID, el propietario, el estado y el comando antes de actuar sobre cualquier proceso. La lección sobre listado de procesos permite practicar la lectura de esa salida sin tocar una carga de trabajo real.

Empieza por la terminal actual

Ejecuta primero el comando sin opciones:

ps

Los encabezados exactos varían según el sistema operativo, pero un resultado breve suele incluir:

  • PID: el identificador de proceso que utilizan herramientas como kill.
  • TTY: la terminal asociada al proceso.
  • TIME: el tiempo de CPU consumido por el proceso.
  • CMD o COMMAND: el programa que se inició.

Esta vista reducida resulta útil para confirmar un comando iniciado desde la misma terminal. No es un inventario completo de todo lo que se ejecuta en el equipo.

Prueba el comando

Lista los procesos asociados a esta terminal.

Construir el comando
ps
Terminal
~$ps
PID TTY TIME CMD 1234 pts/0 00:00:01 bash 2345 pts/0 00:00:00 ps 3456 pts/0 00:00:05 node 4567 pts/0 00:00:02 worker

Lista procesos de todo el sistema

Para obtener una instantánea más completa, usa:

ps -ef

Esta forma suele incluir el propietario, el PID, el PID del proceso padre, información de inicio y la línea de comandos. Es más fácil de guardar, buscar o incluir en una nota de incidente que una pantalla que cambia constantemente.

También encontrarás ps aux en la documentación de Linux. Las dos formas proceden de estilos de opciones distintos y pueden mostrar columnas algo diferentes. Ambas se usan mucho, pero un script debe elegir un formato conocido en lugar de asumir que todos los sistemas tipo Unix imprimen una salida idéntica.

Cuando necesites campos concretos, solicítalos explícitamente:

ps -eo pid,ppid,user,stat,%cpu,%mem,command

Así quedan claros el significado y el orden de las columnas. Algunos nombres de campo y opciones de ordenación difieren entre Linux y macOS, por lo que conviene revisar man ps antes de usar un formato detallado en un script portátil.

Inspecciona un PID antes de usarlo

Si otra herramienta informa del PID 123, inspecciona directamente ese proceso:

ps -p 123 -o pid,ppid,user,stat,etime,command

Sustituye 123 por el PID actual que observaste. Confirma el propietario y el comando completo, no solo el número. Un PID puede reutilizarse después de que un proceso termine, por lo que un identificador copiado de un mensaje antiguo podría pertenecer ahora a otro programa.

Usa top cuando la situación cambia con el tiempo

ps muestra una instantánea. Usa top cuando necesites observar cómo cambia el uso de CPU o memoria:

top

Pulsa q para salir de top. Una vista dinámica ayuda a detectar un proceso que sube repetidamente a los primeros puestos, mientras que ps es mejor para registrar un instante exacto o examinar un PID conocido. Ninguna herramienta indica automáticamente si es seguro detener un proceso; esa decisión sigue dependiendo de su propietario, comando y función.

Comprobación de conocimientos

1 / 1

¿Qué valor identifica el proceso exacto que quieres inspeccionar?

Cuando hayas confirmado el proceso correcto, continúa con cómo detener un proceso de forma segura. Para consultar todas las opciones y reglas de salida del comando, revisa el manual de ps de procps-ng.

Referencias

Estos enlaces de documentación aportan detalles confiables sobre los comandos usados en este artículo.

Siguiente

Cómo encontrar y detener con seguridad un proceso bloqueado en Bash

Confirma el proceso y su PID, envía primero SIGTERM, comprueba el resultado y reserva SIGKILL para procesos que no se detienen correctamente.