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.