Gestión de Procesos en Linux: Comandos y Señales Esenciales

 Linux  |  Procesos  |  Referencia rápida

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

ComandoDescripción
&Ejecuta un comando en segundo plano, permitiendo seguir usando el terminal.
psMuestra información sobre los procesos activos del sistema.
pstreeMuestra los procesos en forma de árbol jerárquico.
killEnvía una señal para terminar o interrumpir un proceso por su PID.
killallTermina todos los procesos que coincidan con un nombre específico.
pkillEnvía señales a procesos según su nombre u otros atributos.
trapPermite especificar qué señales debe capturar e interceptar el shell script.
pgrepEncuentra los PIDs de un programa en ejecución según criterios dados.
niceLanza un proceso con una prioridad de ejecución determinada.
reniceModifica el valor nice (prioridad) de un proceso ya en ejecución.
jobsLista los trabajos activos en la sesión de shell actual.
bgEnvía un trabajo al segundo plano.
fgTrae un trabajo al primer plano.
nohupEjecuta un proceso que continuará aunque se cierre el terminal.
screenGestiona múltiples sesiones de terminal dentro de un único shell.
tmuxMultiplexor de terminal: crea y gestiona múltiples sesiones en una sola ventana.
topMuestra en tiempo real el uso de recursos del sistema y los procesos activos.
htopMonitor interactivo de procesos y gestor del sistema.
btop++Visor interactivo de procesos con características adicionales avanzadas.
bottomMonitor de procesos y sistema multiplataforma.
glancesOfrece una visión general del sistema de un vistazo.
gtopDashboard de monitorización del sistema para terminal.
procSustituto moderno de ps escrito en Rust.
lsofLista los archivos abiertos y los procesos que los tienen en uso.
ps auxMuestra información detallada de todos los procesos activos.
systemctlControla 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ñalValorDescripción
SIGHUP1Cuelga el proceso. Normalmente fuerza la recarga de configuración.
SIGINT2Interrumpe el proceso (equivale a pulsar Ctrl+C).
SIGQUIT3Detiene el proceso y genera un volcado de memoria.
SIGKILL9Termina el proceso de forma incondicional. No puede ser ignorada ni capturada.
SIGTERM15Solicita la terminación ordenada del proceso si es posible.
SIGSTOP17Detiene el proceso sin terminarlo. Tampoco puede ser ignorada.
SIGTSTP18Detiene o pausa el proceso sin terminarlo (equivale a Ctrl+Z).
SIGCONT19Reanuda un proceso que había sido detenido.
Truco: Para listar todas las señales disponibles en tu sistema puedes usar kill o trap con la opción -l:
$ kill -l
$ trap -l
⚠️ SIGKILL vs SIGTERM: Usa siempre 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

Entradas populares de este blog

NAS SYNOLOGY DSM 7.1 en VMware ESXI - Guía instalación y configuración Synology DSM 7.1 en VMWARE

Comando "NET USE", uso, parámetros y algunos ejemplos de uso

Multisesión RDP en Windows 10 Pro