Inicio > Gestión de procesos > ps

Guía del comando ps: Consultar el estado de los procesos

El comando `ps` (estado del proceso) se utiliza en sistemas operativos Linux y Unix para mostrar una instantánea de los procesos que se están ejecutando actualmente. Es una herramienta esencial para verificar qué programas están funcionando en el sistema y el estado de cada programa. A través de esta guía, aprenderás a consultar y analizar la información de los procesos de manera efectiva utilizando las diversas opciones del comando `ps`.

Descripción general de ps

El comando `ps` es una herramienta de 'instantánea' que muestra la información de los procesos en un momento específico. No se actualiza en tiempo real como `top` o `htop`, sino que imprime la información solo una vez en el momento en que se ejecuta el comando. Esto es útil para entender qué tareas están en progreso en el sistema.

Rol principal de ps

El comando `ps` se utiliza principalmente con los siguientes propósitos:

Áreas de uso principales

  • Verificar procesos en ejecución: Identificar qué programas o servicios están funcionando actualmente en el sistema.
  • Encontrar el ID de proceso (PID): Localizar el PID de un proceso específico para terminarlo o controlarlo.
  • Verificar el estado de los procesos: Determinar si un proceso está en ejecución, en espera o en estado de zombi.
  • Verificar uso de CPU y memoria: Obtener información resumida sobre los recursos que utiliza cada proceso.
  • Depuración de scripts: Verificar el estado de scripts o programas que se ejecutan en segundo plano.

Entender las columnas de salida de ps

Al ejecutar el comando `ps`, generalmente se mostrará la siguiente información:

Columnas de salida principales

  • **PID**: ID del proceso. Identificador único de cada proceso.
  • **TTY**: Terminal (tty) donde se está ejecutando el proceso. `?` indica un proceso (daemon) no conectado a un terminal.
  • **TIME**: Tiempo total de CPU utilizado por el proceso.
  • **CMD**: Comando utilizado para iniciar el proceso.
  • **STAT**: Código de estado actual del proceso (ej: `R` - en ejecución, `S` - en espera, `Z` - zombi, `D` - en espera no interrumpible, `T` - detenido, `<` - alta prioridad, `N` - baja prioridad, `s` - líder de sesión, `l` - multihilo, `+` - pertenece a un grupo de procesos en primer plano).
  • **USER**: Nombre del usuario que ejecutó el proceso.
  • **%CPU**: Porcentaje de uso de CPU por parte del proceso.
  • **%MEM**: Porcentaje de uso de memoria física (RAM) por parte del proceso.
  • **VSZ (Tamaño de Memoria Virtual)**: Cantidad total de memoria virtual utilizada por el proceso.
  • **RSS (Tamaño del Conjunto Residente)**: Cantidad de memoria física (RAM) que el proceso tiene realmente en uso.

Opciones principales del comando ps

El comando `ps` ofrece una variedad de opciones y se divide principalmente en tres estilos: estilo Unix, estilo BSD, y estilo GNU. Aquí se abordan las opciones más comúnmente utilizadas.

1. Opciones de selección de procesos (Estilo BSD/Unix)

2. Opciones de formato de salida

3. Árbol de procesos y hilos

Comando generado:

Combina los comandos.

Descripción:

`ps` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Aprende a consultar y analizar el estado de los procesos del sistema a través de varios ejemplos de uso del comando `ps`.

Consultar todos los procesos del terminal actual

ps

Muestra de manera sencilla la lista de procesos que se están ejecutando en el terminal (shell) donde has iniciado sesión.

Consultar detalles de todos los procesos de usuario

ps aux

Imprime detalles de los procesos de todos los usuarios (a), incluidos los que no están conectados a un terminal (x). Esta es la combinación más comúnmente utilizada.

Consultar todos los procesos en forma de árbol de procesos

ps -ef

Visualiza todos los procesos en una estructura de árbol de relación padre-hijo. Es útil para entender la estructura de los procesos en el sistema.

Consultar información de un proceso específico (ej: Nginx)

ps aux | grep nginx

Filtra y muestra solo los procesos que contienen la cadena `nginx` en los resultados de `ps aux`. Es útil para verificar el estado del proceso del servidor Nginx.

Consultar los 10 procesos con mayor uso de CPU

ps aux --sort -%cpu | head -n 10

Imprime solo los 10 procesos principales ordenados en orden descendente según el uso de CPU. Es útil para identificar procesos que consumen muchos recursos del sistema.

Seleccionar y mostrar solo columnas específicas

ps -eo pid,user,%cpu,%mem,cmd

Imprime solo el PID, el nombre del usuario, el porcentaje de uso de CPU, el porcentaje de uso de memoria y la línea de comando del proceso. Útil para ver solo la información necesaria de manera concisa.

Encontrar procesos zombis

ps aux | grep 'Z'

Busca procesos que tienen el estado (STAT) 'Z' para diagnosticar las causas del desperdicio de recursos del sistema.


Comandos de la misma categoría