Línea de Comandos Parte 2

10.4 - Gestión de procesos

ps top htop kill jobs
¿Qué es la gestión de procesos?

Es como el "Administrador de Tareas" de Windows. Un proceso es simplemente un programa en ejecución (Firefox, terminal, reproductor de música, etc.).

Con estos comandos puedes ver qué está ejecutándose, cuánta RAM consume, y cerrar programas que se hayan trabado.

¿Qué herramienta necesito?

🎯 Quiero ver qué consume mi RAM/CPU

→ Usa top o htop (monitor en tiempo real)

🔍 Quiero buscar un proceso específico (ej. Firefox)

→ Usa ps aux | grep firefox

❌ Quiero cerrar un programa trabado

→ Encuentra su PID con ps, luego kill PID

⚙️ Quiero ejecutar algo en segundo plano

→ Agrega & al final del comando

¿Qué es un PID?

PID = Process ID (ID de Proceso). Es como el "DNI" de cada programa. Cada vez que abres algo, Linux le asigna un número único. Ejemplo: Firefox puede tener PID 2468.

¿Qué son las señales?

Son mensajes que le envías a un proceso:

  • SIGTERM (15): "Por favor, cierra" ← Amable, permite guardar datos
  • SIGKILL (9): "¡MUERE YA!" ← Forzado, puede corromper archivos

Comando ps - Ver procesos (foto instantánea)

ps muestra los procesos en ese momento (como tomar una foto).

ps aux
¿Qué significa cada letra?
  • a = all (todos los usuarios)
  • u = user (muestra quién lo ejecuta, % CPU, % RAM)
  • x = incluye procesos sin terminal (servicios en segundo plano)
Ejemplos prácticos
usuario@mint:~$ ps aux | grep firefox usuario 2468 5.2 8.1 2847364 658234 ? Sl 10:40 2:15 /usr/lib/firefox/firefox # ↑ PID=2468, usa 5.2% CPU y 8.1% RAM
usuario@mint:~$ ps aux | head -5 # Ver solo las primeras 5 líneas
Tip: Anota el PID del proceso que quieras cerrar, lo usarás con kill.

top / htop - Monitor en tiempo real

top es como ver un video: actualiza los procesos cada segundo. htop es la versión más visual (colores, barras).

Teclas útiles en top
  • q → salir
  • P → ordenar por CPU
  • M → ordenar por memoria
  • k → matar proceso (te pedirá el PID)
¿Cuándo usar cada uno?
  • top → Ya viene instalado, rápido
  • htop → Más bonito y fácil de leer (instálalo con sudo apt install htop)
usuario@mint:~$ top top - 14:35:22 up 4:05, 2 users, load average: 0.85, 0.92, 1.15 Tasks: 185 total, 1 running, 184 sleeping %Cpu(s): 12.5 us, 3.2 sy, 0.0 ni, 84.0 id MiB Mem : 7892.5 total, 2134.2 free, 3456.8 used # Presiona 'q' para salir

kill - Cerrar procesos

Usa kill PID para cerrar un proceso. Por defecto envía SIGTERM (cierre amable).

Semáforo de seguridad
🟢
kill PID
Cierre amable. El programa puede guardar datos antes de cerrar. Úsalo siempre primero.
🟡
killall nombre
Cierra TODOS los procesos con ese nombre. Cuidado con nombres comunes como "bash" o "python".
🔴
kill -9 PID
Muerte forzada (SIGKILL). ÚLTIMO RECURSO. No da tiempo a guardar. Puede corromper archivos.
Ejemplo paso a paso
# 1. Buscar el proceso trabado usuario@mint:~$ ps aux | grep firefox usuario 2468 95.2 8.1 ... firefox
# 2. Intentar cerrar amablemente (SIGTERM) usuario@mint:~$ kill 2468
# 3. Si no responde después de 10 segundos, forzar usuario@mint:~$ kill -9 2468
Errores comunes
  • Usar kill -9 de inmediato: Dale tiempo al proceso de cerrar bien (10-15 segundos).
  • Confundir PID con número de trabajo: kill %1 es para trabajos, kill 2468 es para PIDs.
  • Hacer killall python: Cerrará TODOS los scripts Python activos (puede ser desastroso).

Primer plano y Segundo plano en Linux

En Linux, un programa puede ejecutarse de dos formas:

  • Primer plano (Foreground): El programa usa la terminal y no te deja escribir hasta que termine.
  • Segundo plano (Background): El programa sigue ejecutándose, pero la terminal queda libre.
Ejemplo fácil

Es como minimizar una aplicación: sigue funcionando, pero ya no la ves.

Comandos importantes
  • & → ejecuta un programa en segundo plano
  • Ctrl + Z → pausa el programa
  • jobs → muestra los programas pausados
  • fg → regresa el programa a primer plano
  • bg → continúa el programa en segundo plano
Ejemplo práctico
# Ejecutar un comando en segundo plano
usuario@linux:~$ sleep 300 & [1] 1234

# Ver procesos en segundo plano
usuario@linux:~$ jobs
Nota: Ctrl + Z solo pausa el programa, no lo cierra.

Práctica guiada (10 minutos)

Objetivo: Dominar lo esencial en 10 minutos. Abre una terminal y sigue estos pasos.
Crear un proceso de prueba (2 min)
usuario@mint:~$ sleep 500 & [1] 3421 # Creaste un proceso "inútil" que dura 500 segundos
Encontrarlo con ps (2 min)
usuario@mint:~$ ps aux | grep sleep usuario 3421 0.0 0.0 10000 800 ? S 15:30 0:00 sleep 500 # ↑ Anota el PID (3421 en este ejemplo)
Ver procesos en tiempo real (2 min)
usuario@mint:~$ top # Presiona 'M' para ordenar por memoria, 'q' para salir
Cerrar el proceso amablemente (2 min)
usuario@mint:~$ kill 3421 # Usa el PID que anotaste en el paso 2
# Verificar que se cerró usuario@mint:~$ ps aux | grep sleep # No debería aparecer nada (excepto el mismo grep)
Jugar con segundo plano (2 min)
usuario@mint:~$ sleep 60 & [1] 3500
usuario@mint:~$ jobs [1]+ Running sleep 60 &
usuario@mint:~$ fg %1 # Ahora presiona Ctrl+Z ^Z [1]+ Stopped sleep 60
usuario@mint:~$ kill %1 # Cerrar el trabajo pausado
¡Felicitaciones!

Ya sabes:

  • ✅ Encontrar procesos con ps aux | grep
  • ✅ Monitorear sistema con top
  • ✅ Cerrar procesos con kill
  • ✅ Manejar trabajos en segundo plano con &, jobs, fg, bg

Resumen: Lo que REALMENTE necesitas recordar

📋 Para ver procesos:
  • ps aux | grep nombre → buscar específico
  • top → monitor en vivo
  • htop → versión visual de top
❌ Para cerrar procesos:
  • kill PID → cierre amable
  • kill -9 PID → solo si lo anterior falla
  • killall nombre → cierra todos (cuidado)
⚙️ Para segundo plano:
  • comando & → ejecutar en background
  • Ctrl+Z → pausar proceso
  • jobs → listar trabajos
🛡️ Regla de oro:
  • Siempre usa kill PID primero
  • Espera 10-15 segundos
  • Solo usa -9 si no hay respuesta