Actividades de Gestión de Procesos en Linux¶
Comprender cómo visualizar, monitorear y controlar procesos es vital para la administración eficaz de sistemas Linux. Estas habilidades permiten optimizar el rendimiento, resolver problemas y mantener el sistema funcionando de manera eficiente.
Actividad 1: Exploración de Procesos con ps¶
Objetivo:¶
Familiarizarse con el listado y filtrado de procesos en ejecución, utilizando diferentes opciones de ps.
Descripción:¶
El comando ps es una herramienta poderosa para monitorear los procesos
activos en un sistema Linux. Puede utilizar varias opciones para cambiar el
alcance y el formato de la información mostrada. Las opciones aux y -ef
son comúnmente usadas para este propósito, proporcionando una visión detallada
de todos los procesos en ejecución.
ps auxmuestra todos los procesos en ejecución en el sistema con una sintaxis que es fácilmente legible y comprendida por usuarios acostumbrados a sistemas BSD. Muestra el usuario que inició el proceso, el % de CPU y memoria utilizada, entre otros detalles.ps -efes una opción estándar de System V UNIX y ofrece una vista similar, pero con una sintaxis ligeramente diferente. Incluye el PID del proceso padre (PPID), lo que puede ser útil para entender la jerarquía de los procesos.
$USER es una variable de entorno que representa el nombre del usuario actualmente logueado en la sesión de la terminal. Al usar $USER con grep en combinación con ps, puede filtrar los procesos para mostrar solo aquellos que están siendo ejecutados por el usuario actual.
Pasos:
Ejecute
ps auxpara visualizar todos los procesos en ejecución en el sistema. Note cómo se presenta la información y qué datos son mostrados.ps auxAhora, ejecute
ps -efy observe las diferencias en la presentación de la información comparada conps aux.ps -efPara filtrar la salida de
psy mostrar solo los procesos pertenecientes a su usuario, utilicegrepde la siguiente manera:ps aux | grep $USER ps -ef | grep $USER
Ejemplo Específico:
Si está interesado en filtrar todos los procesos relacionados con el navegador firefox, podría usar:
ps aux | grep firefox
ps -ef | grep firefox
Preguntas de Reflexión:
¿Qué ventajas ofrece cada opción (aux vs -ef) al investigar el comportamiento de los procesos en su sistema?
Al revisar los procesos filtrados por $USER, ¿qué procesos específicos son típicamente iniciados por su usuario y cuáles son sus roles?
Actividad 2: Monitoreo Interactivo con top¶
Objetivo:¶
Aprender a utilizar top para el monitoreo interactivo de procesos.
Pasos:¶
Inicie el monitoreo de procesos ejecutando
top. Observe la actualización en tiempo real de los procesos y su consumo de recursos.Dentro de
top, presioneShift + Ppara ordenar los procesos por uso de CPU, yShift + Mpara ordenarlos por uso de memoria.
Ejemplo Específico:¶
Mientras
topestá ejecutando, intente abrir varias aplicaciones o procesos. Observe cómo cambia la lista de procesos y cómo se altera el uso de recursos.
Preguntas de Reflexión:¶
¿Qué información adicional proporciona
topque no muestraps?¿Cómo podría utilizar
toppara identificar procesos que necesitan ser terminados para liberar recursos?
Actividad 3: Terminación de Procesos con kill y pkill¶
Objetivo:¶
Practicar la terminación segura de procesos utilizando kill y pkill.
Pasos:¶
Identifique un proceso no crítico que pueda terminar. Use
psotoppara encontrar el PID (Identificador de Proceso) de este.Utilice
killseguido por el PID para terminar el proceso. Por ejemplo, si el PID es 1234:kill 1234
Para terminar procesos por nombre, use
pkill. Si desea terminar todos los procesos llamados «firefox», ejecute:pkill firefox
Ejemplo Específico:
Imagine que un proceso de copia de seguridad,
backup.sh, no está respondiendo. Para terminarlo, primero encuentre el PID conps aux | grep backup.shy luego usekill.
Preguntas de Reflexión:
¿Qué diferencias hay entre usar
killypkill? ¿Cuándo sería más apropiado usar uno sobre el otro?
Señales Comúnmente Utilizadas en la Gestión de Procesos¶
En Linux, los comandos kill y pkill permiten enviar señales a los
procesos para controlar su ejecución. Las señales son mensajes que indican a un
proceso que debe realizar una acción específica, como terminar su ejecución o
pausarse. A continuación, se describen algunas de las señales más utilizadas:
SIGTERM (Señal 15)¶
Descripción: La señal de término (
SIGTERM) solicita que un proceso termine su ejecución de manera segura, permitiendo que libere recursos y guarde su estado si es necesario. Es la señal predeterminada enviada porkillcuando no se especifica una señal.Uso: Es la manera más común y segura de solicitar la terminación de un proceso.
kill 1234 # Enviar SIGTERM al proceso con PID 1234
kill -SIGTERM 1234 # Forma explícita
SIGKILL (Señal 9)¶
Descripción: La señal de matar (
SIGKILL) fuerza la terminación de un proceso sin permitirle limpiar o liberar recursos. Es útil para terminar procesos que no responden aSIGTERM.Uso: Debe usarse como último recurso cuando un proceso no puede terminarse de manera segura.
kill -9 1234 # Enviar SIGKILL al proceso con PID 1234
kill -SIGKILL 1234
SIGSTOP (Señal 19)¶
Descripción: La señal de detención (
SIGSTOP) pausa la ejecución de un proceso sin terminarlo. El proceso puede reanudarse posteriormente.Uso: Útil para detener temporalmente un proceso sin terminarlo.
kill -SIGSTOP 1234 # Detener el proceso con PID 1234
SIGCONT (Señal 18)¶
Descripción: La señal de continuar (
SIGCONT) reanuda la ejecución de un proceso previamente detenido porSIGSTOP.Uso: Reanudar un proceso detenido.
kill -SIGCONT 1234 # Continuar el proceso con PID 1234
Preguntas de Reflexión:
¿Por qué es importante conocer la diferencia entre
SIGTERMySIGKILLcuando se terminan procesos?¿Cómo afectaría al sistema el uso excesivo de
SIGKILLen lugar deSIGTERM?Describa un escenario en el que usaría
SIGSTOPySIGCONTpara gestionar los procesos.