Gestión de Procesos en Linux: Comandos y Señales Esenciales
Gestión de Procesos en Linux: Comandos y Señales Esenciales
Guía completa de referencia para controlar, monitorizar y gestionar procesos en sistemas Linux.
¿Por qué dominar la gestión de procesos?
En Linux, cada programa en ejecución es un proceso. Saber cómo listarlos, controlarlos, priorizarlos y terminarlos es una habilidad fundamental para cualquier administrador de sistemas, desarrollador o entusiasta del software libre.
Linux ofrece un conjunto de comandos muy completo para interactuar con los procesos, desde los clásicos ps y top hasta herramientas modernas como btop++ o proc. Además, el sistema de señales permite comunicarse con los procesos de forma directa y eficiente.
Comandos agrupados por función
Información y listado
- ps — procesos activos
- pstree — árbol de procesos
- ps aux — listado completo
- lsof — archivos abiertos
- pgrep — buscar por nombre
Monitorización en tiempo real
- top — monitor básico
- htop — monitor interactivo
- btop++ — monitor avanzado
- bottom — multiplataforma
- gtop — dashboard terminal
- glances — vista global
⚙️ Control y señales
- kill — señal por PID
- killall — matar por nombre
- pkill — matar por atributos
- trap — capturar señales
Prioridad y planos
- nice — lanzar con prioridad
- renice — cambiar prioridad
- bg — segundo plano
- fg — primer plano
- & — background directo
- nohup — persistir al cerrar
- jobs — trabajos activos
️ Sesiones y servicios
- screen — sesiones múltiples
- tmux — multiplexor
- systemctl — servicios systemd
- proc — sustituto de ps (Rust)
Referencia completa de comandos
| Comando | Descripción |
|---|---|
| & | Ejecuta un comando en segundo plano, permitiendo seguir usando el terminal. |
| ps | Muestra información sobre los procesos activos del sistema. |
| pstree | Muestra los procesos en forma de árbol jerárquico. |
| kill | Envía una señal para terminar o interrumpir un proceso por su PID. |
| killall | Termina todos los procesos que coincidan con un nombre específico. |
| pkill | Envía señales a procesos según su nombre u otros atributos. |
| trap | Permite especificar qué señales debe capturar e interceptar el shell script. |
| pgrep | Encuentra los PIDs de un programa en ejecución según criterios dados. |
| nice | Lanza un proceso con una prioridad de ejecución determinada. |
| renice | Modifica el valor nice (prioridad) de un proceso ya en ejecución. |
| jobs | Lista los trabajos activos en la sesión de shell actual. |
| bg | Envía un trabajo al segundo plano. |
| fg | Trae un trabajo al primer plano. |
| nohup | Ejecuta un proceso que continuará aunque se cierre el terminal. |
| screen | Gestiona múltiples sesiones de terminal dentro de un único shell. |
| tmux | Multiplexor de terminal: crea y gestiona múltiples sesiones en una sola ventana. |
| top | Muestra en tiempo real el uso de recursos del sistema y los procesos activos. |
| htop | Monitor interactivo de procesos y gestor del sistema. |
| btop++ | Visor interactivo de procesos con características adicionales avanzadas. |
| bottom | Monitor de procesos y sistema multiplataforma. |
| glances | Ofrece una visión general del sistema de un vistazo. |
| gtop | Dashboard de monitorización del sistema para terminal. |
| proc | Sustituto moderno de ps escrito en Rust. |
| lsof | Lista los archivos abiertos y los procesos que los tienen en uso. |
| ps aux | Muestra información detallada de todos los procesos activos. |
| systemctl | Controla el sistema systemd y el gestor de servicios. |
Señales de Linux (Linux Signals)
Las señales son mecanismos de comunicación entre el sistema operativo y los procesos. Cada señal tiene un número identificador y un comportamiento predeterminado. Las más habituales en administración de sistemas:
| Señal | Valor | Descripción |
|---|---|---|
| SIGHUP | 1 | Cuelga el proceso. Normalmente fuerza la recarga de configuración. |
| SIGINT | 2 | Interrumpe el proceso (equivale a pulsar Ctrl+C). |
| SIGQUIT | 3 | Detiene el proceso y genera un volcado de memoria. |
| SIGKILL | 9 | Termina el proceso de forma incondicional. No puede ser ignorada ni capturada. |
| SIGTERM | 15 | Solicita la terminación ordenada del proceso si es posible. |
| SIGSTOP | 17 | Detiene el proceso sin terminarlo. Tampoco puede ser ignorada. |
| SIGTSTP | 18 | Detiene o pausa el proceso sin terminarlo (equivale a Ctrl+Z). |
| SIGCONT | 19 | Reanuda un proceso que había sido detenido. |
kill o trap con la opción -l:SIGTERM (15) primero para dar al proceso la oportunidad de cerrar limpiamente. Recurre a SIGKILL (9) solo si el proceso no responde, ya que no permite liberar recursos ni guardar estado.
Comentarios
Publicar un comentario
Comenta...