En Linux es habitual ejecutar comandos que tardan tiempo en completarse, como scripts, descargas o procesos de compilación.
Detener la terminal mientras se ejecutan puede afectar la productividad, y aquí es donde entran los jobs en Linux.
El sistema de job control permite ejecutar procesos en primer plano (foreground) o segundo plano (background), gestionarlos y controlarlos directamente desde la terminal.
En esta guía aprenderás qué son los jobs en Linux y cómo utilizarlos correctamente.
Si quieres aprender más sobre Linux, revisa nuestra Guía completa de comandos Linux y nuestro Curso de Linux gratis , te ayudarán a dominar la terminal y a sacar el máximo provecho de este artículo.
¿Qué son los jobs en Linux?
Los jobs en Linux son procesos iniciados desde una terminal que pueden ejecutarse:
- En primer plano (foreground) → bloquean la terminal
- En segundo plano (background) → permiten seguir usando la terminal
Cada job recibe un identificador que permite administrarlo fácilmente.
Foreground vs Background
Foreground (primer plano)
Cuando ejecutas un comando normalmente:
sleep 60La terminal queda ocupada hasta que finaliza el proceso.
Background (segundo plano)
Puedes ejecutar el mismo proceso en segundo plano añadiendo &:
sleep 60 &Salida típica:
[1] 1234Donde:
- [1] → número del job
- 1234 → PID del proceso
Ahora puedes seguir utilizando la terminal.
Ver jobs activos en Linux
Para listar los jobs actuales:
jobsEjemplo:
[1]+ Running sleep 60 &Este comando muestra únicamente los procesos asociados a la terminal actual.
Enviar un proceso al segundo plano
Si ejecutaste un proceso en foreground puedes enviarlo al background:
Suspender proceso
Presiona:
CTRL + ZEl proceso queda detenido.
Enviarlo al background
bgEl proceso continuará ejecutándose en segundo plano.
Volver un job al primer plano
Para recuperar un proceso:
fgSi existen varios jobs:
fg %1Donde 1 es el número del job.
Detener un job en Linux
Puedes finalizar un proceso usando:
kill %1O utilizando su PID:
kill 1234Estados de los jobs en Linux
Los jobs pueden tener distintos estados:
| Estado | Significado |
|---|---|
| Running | Ejecutándose |
| Stopped | Suspendido |
| Done | Finalizado |
Puedes comprobarlos con:
jobs -lBuenas prácticas con jobs en Linux
- Usa background para procesos largos
- Controla jobs activos regularmente
- Finaliza procesos innecesarios
- Usa nohup en servidores remotos
- Identifica correctamente PID y Job ID
Ejemplo práctico real
Ejecutar un backup sin bloquear la terminal:
tar -czf backup.tar.gz /home/user &<br>Consultar estado:
jobsRecuperarlo si es necesario:
fg %1El control de jobs en Linux es una funcionalidad esencial para trabajar eficientemente desde la terminal. Permite ejecutar múltiples procesos simultáneamente, mejorar la productividad y administrar tareas sin interrumpir el flujo de trabajo.
Dominar comandos como jobs, bg, fg y nohup es fundamental para cualquier usuario o administrador de sistemas Linux.
