11 Gestión de Procesos en Linux
Published Apr 13, 2023
🧠 Introducción
Un sistema Linux ejecuta muchos procesos todo el tiempo: algunos visibles, otros en segundo plano.
Saber cómo ver, controlar y automatizar estos procesos es una habilidad clave para administradores, desarrolladores y cualquier persona que trabaje en Linux.
1. ¿Qué es un Proceso?
Un proceso es cualquier programa en ejecución.
Cuando ejecutas un comando o abres una aplicación, el sistema crea un proceso y le asigna un PID (Process ID), que es su identificador único.
2. Ver procesos activos
🧾 Comando ps
ps
Muestra los procesos activos en tu terminal actual. Columnas importantes:
PID
: ID del proceso.TTY
: Terminal asociada.TIME
: Tiempo total de CPU utilizado.CMD
: Comando que inició el proceso.
📋 ps aux
– Vista completa
ps aux
Muestra todos los procesos del sistema. Opciones:
a
: Todos los usuarios.u
: Incluye uso de CPU/Memoria.x
: Incluye procesos sin terminal asociada.
Filtra por nombre:
ps aux | grep firefox
3. Monitoreo en Tiempo Real
📊 Comando top
top
Muestra procesos en vivo, ordenados por uso de recursos.
Atajos útiles:
q
: salir.h
: ayuda.C
: mostrar el path completo del comando.
💻 Comando htop
(más visual)
htop
- Usa flechas para seleccionar procesos.
- Presiona
F9
para finalizar uno. - Muestra recursos, prioridad (
nice
), memoria, etc.
🔧 Puede requerir instalación: sudo apt install htop
4. Prioridad de Procesos: nice
y renice
Linux usa un valor llamado nice para determinar la prioridad del proceso:
- Rango:
20
(máxima prioridad) a19
(mínima). - Por defecto:
0
.
🏁 Iniciar con prioridad personalizada:
nice -n 10 comando
Ejemplo:
nice -n 10 firefox
🔧 Cambiar prioridad de un proceso activo:
renice -n 5 -p PID
⚠️ Para valores negativos, se necesita sudo.
5. Finalizar procesos
✋ Usar kill
:
kill -9 PID
9
: Mata el proceso inmediatamente.15
: Termina de forma ordenada (recomendado cuando sea posible).
Señales comunes:
Señal | Descripción |
---|---|
1 |
Reiniciar (HUP) |
2 |
Interrumpir (Ctrl+C) |
9 |
Forzar cierre (KILL) |
15 |
Cierre elegante (TERM) |
🧼 Desde top
y htop
- En
top
: presionak
, escribe el PID y la señal. - En
htop
: selecciona el proceso →F9
→ elige señal.
6. Procesos en segundo plano
🕹️ Comandos:
- Ctrl + Z: Pausa el proceso y lo manda al fondo.
- bg: Continúa en segundo plano.
- fg: Trae el proceso al frente.
Ejemplo:
firefox
# Presiona Ctrl+Z
bg
7. Automatizar tareas: cron
y at
⏰ Usar cron
para tareas repetitivas
crontab -e
Ejemplo: ejecutar un script todos los días a las 5:00 AM:
0 5 * * * /usr/bin/backup.sh
Formato:
Minuto Hora Día-del-Mes Mes Día-de-la-Semana Comando
📌 Usar at
para tareas únicas
echo "/usr/bin/cleanup.sh" | at 23:00
Ver tareas pendientes:
atq
Cancelar una tarea:
atrm <JOB_ID>
⚠️ Asegúrate de que el servicio atd esté activo.
🧪 Práctica Recomendada
- Usa
ps aux
yhtop
para ver procesos. - Cambia la prioridad de algún proceso con
nice
orenice
. - Ejecuta un comando en segundo plano con
Ctrl+Z
+bg
. - Mata un proceso de prueba con
kill -15 PID
. - Crea una tarea con
cron
y otra conat
para automatizar un script.
📘 Próximos Pasos
- Aprende sobre señales con
kill -l
. - Explora herramientas como
systemctl
,journalctl
yservice
. - Automatiza procesos más complejos con
cron
y redirección de logs. - Revisa
man ps
,man top
,man nice
,man crontab
para más opciones.
🎯 Conclusión
Gestionar procesos en Linux no es solo cuestión de ver qué está corriendo:
es optimizar el rendimiento, automatizar tareas y reaccionar rápido ante problemas.
Con las herramientas y comandos vistos (ps
, htop
, nice
, cron
, etc.), tienes control total para gestionar el comportamiento de tu sistema.
¡Sigue practicando y conviértete en un maestro de procesos Linux! 🚀🐧