Saltar al contenido principal

Capítulo 4.1 - Introducción a los Procesos

Objetivos de Aprendizaje​

Al final de este capítulo, usted será capaz de:

  • Comprender qué es un proceso
  • Explicar el ciclo de vida de un proceso
  • Identificar los procesos en ejecución
  • Comprender la jerarquía de procesos

¿Qué es un Proceso?​

Un proceso es una instancia de un programa en ejecución. Cada proceso tiene sus propios recursos: memoria, archivos abiertos, etc.

Características:

  • PID (Process ID): Identificador único
  • PPID (Parent Process ID): Proceso padre
  • Espacio de memoria: Aislado de otros procesos
  • Recursos: Archivos abiertos, red, etc.

El Problema de la Gestión​

Sin una gestión adecuada:

  • ¿Cómo ver qué programas están en ejecución?
  • ¿Cómo detener un programa que no responde?
  • ¿Cómo gestionar los recursos utilizados?
  • ¿Cómo entender la jerarquía?

La Solución: Herramientas de Gestión​

Linux proporciona muchas herramientas para gestionar los procesos:


Ciclo de Vida de un Proceso​

Estados:

  • Created: Proceso creado (fork)
  • Ready: Listo para ejecutarse
  • Running: En ejecución
  • Blocked: En espera (I/O, señal)
  • Terminated: Finalizado

Jerarquía de Procesos​

Los procesos forman un árbol:

Características:

  • init/systemd: PID 1, padre de todos
  • Procesos hijos: Creados por fork()
  • Procesos huérfanos: Adoptados por init si el padre muere
  • Procesos zombie: Finalizados pero no limpiados

Comandos Básicos​

ps - Ver los Procesos​

# Todos los procesos
ps aux

# Procesos del usuario
ps

# Formato personalizado
ps -eo pid,ppid,cmd,%mem,%cpu

# Por usuario
ps -u user1

# Árbol de procesos
ps auxf
ps -ejH

top - Monitorear en Tiempo Real​

# Interfaz interactiva
top

# Opciones
top -u user1 # Por usuario
top -p 1234 # Proceso específico
top -d 2 # Actualización cada 2 segundos

Comandos en top:

  • q: Salir
  • k: Matar un proceso
  • r: Cambiar prioridad
  • M: Ordenar por memoria
  • P: Ordenar por CPU

htop - Versión Mejorada​

# Interfaz más amigable
htop

# Instalar si es necesario
sudo apt install htop # Ubuntu/Debian
sudo yum install htop # Red Hat/CentOS

Resumen​

En este capítulo, usted ha aprendido:

Proceso: Instancia de un programa en ejecución
PID/PPID: Identificadores únicos, jerarquía
Ciclo de vida: Created → Ready → Running → Blocked → Terminated
Jerarquía: Árbol con init como raíz
Herramientas: ps, top, htop para visualizar y monitorear


Próximos Pasos​

Capítulo 4.2: Visualización de Procesos
Capítulo 4.3: Control de Procesos


Capítulo creado el: diciembre 2024