Gestión de Procesos en Linux: Estados y Comandos Básicos
Clase 27 de 30 • Curso de Introducción a la Administración de Servidores Linux
Resumen
¿Qué son los estados de los procesos en Linux?
En el sistema operativo Linux, cada proceso tiene un estado específico que determina cómo interactúa con el sistema y sus recursos. Comprender estos estados es esencial para gestionar eficazmente los procesos. Los estados son:
-
Running o Runnable: Este estado se activa cuando el proceso está utilizando recursos de CPU o memoria.
-
Sleep: Hay dos tipos de estados de "sleep":
- Uninterruptible sleep (D): El proceso está esperando a que haya suficientes recursos disponibles, no puede ser interrumpido y requiere una señal específica, como
SIGKILL
, para terminarlo. - Interruptible sleep (S): Este estado puede ser interrumpido y el proceso se puede finalizar con señales comunes, siempre que esté en espera.
- Uninterruptible sleep (D): El proceso está esperando a que haya suficientes recursos disponibles, no puede ser interrumpido y requiere una señal específica, como
-
Stopped (T): El proceso está pausado y no se ejecutará ni al liberar recursos, hasta que se le indique de manera explícita.
-
Zombie (Z): Un proceso que ha terminado de ejecutarse pero aún tiene una entrada en la tabla de procesos, lo que sucede cuando intenta terminar sin desvincularse del proceso original.
¿Cómo se gestionan los procesos en Linux?
La gestión de procesos en Linux se realiza mediante comandos y señales que permiten enviar un proceso al background, traerlo al foreground, pausarlo o incluso terminarlo. Esto es clave para profesionales que desean mantener sus sistemas organizados y eficaces.
Comandos básicos para la gestión de procesos
-
Enviar un proceso al background: Para ejecutar un comando en segundo plano, simplemente añade un
&
al final del comando. Por ejemplo:les espera.txt &
Esto ejecuta el proceso en background.
-
Mostrar procesos en background: Usa
jobs -l
para listar los procesos en segundo plano. -
Traer un proceso al foreground: Utiliza el comando
fg
seguido del job-id para traer un proceso de vuelta al foreground:fg %1
-
Pausar y reanudar procesos: Mediante
Ctrl + Z
se detiene un proceso yfg
obg
para reanudarlo en foreground o background, respectivamente.
Terminar procesos
Para terminar procesos, especialmente aquellos en el background, se puede utilizar el comando kill
seguido del Process ID (PID). Este comando envía una señal de terminación predeterminada (SIGTERM
):
kill 1402
En caso de que el proceso no responda, se puede utilizar una señal más directa como SIGKILL
(identificador 9):
kill -9 1402
¿Cómo usar HTOP para gestionar procesos?
htop
es una herramienta interactiva que facilita la gestión de procesos en Linux. Proporciona una interfaz visual que permite:
- Ver todos los procesos actuales.
- Ordenar y filtrar procesos por ID, uso de CPU, memoria, etc.
- Terminar procesos seleccionando con
F9
y escogiendo la señal deseada comoSIGTERM
oSIGKILL
.
¿Cómo utilizar el comando killAll?
El comando killAll
se utiliza para terminar todos los procesos que comparten el mismo nombre. Es especialmente útil para cerrar múltiples instancias de un programa simultáneamente:
killall les
Al utilizar estos comandos y herramientas, puedes convertirte en un experto en manejo de procesos de Linux, lo cual es una habilidad valiosa para cualquier profesional en tecnología. ¡Continúa explorando y practicando estas técnicas para dominar los procesos en Linux!