En Linux, a menudo te encuentras con comandos que tardan mucho en completarse. En lugar de esperar y dejar tu terminal inutilizable, puedes usar el control de trabajos de Linux para administrar estas tareas. Esta potente función te permite ejecutar y gestionar múltiples procesos en segundo plano dentro de una sola sesión de shell, mejorando significativamente tu flujo de trabajo.
Ejecutar un Comando en Segundo Plano
Para iniciar un proceso directamente en segundo plano, simplemente añade un ampersand (&) al final de tu comando. Esto devuelve inmediatamente el prompt de tu shell, permitiéndote continuar trabajando mientras el comando se ejecuta.
sleep 1000 &
sleep 1001 &
sleep 1002 &
Listar Trabajos en Segundo Plano
Puedes ver todos los trabajos que se ejecutan en segundo plano usando el comando jobs.
$ jobs
[1] Running sleep 1000 &
[2]- Running sleep 1001 &
[3]+ Running sleep 1002 &
La salida proporciona el ID del trabajo en la primera columna, su estado y el comando original. El símbolo + indica el trabajo en segundo plano iniciado más recientemente, mientras que el símbolo - marca el segundo más reciente.
Administrar Procesos Activos
¿Qué pasa si un comando ya se está ejecutando en primer plano y decides que necesitas recuperar tu terminal? No necesitas detenerlo. Primero, suspende el proceso en ejecución presionando Ctrl-Z. Luego, usa el comando bg para enviar ese trabajo suspendido al segundo plano.
pete@icebox ~ $ sleep 1003
^Z
[4]+ Stopped sleep 1003
pete@icebox ~ $ bg
[4]+ sleep 1003 &
Ahora, el proceso sleep 1003 se está ejecutando como un trabajo en segundo plano, y puedes verificarlo con el comando jobs.
Traer un Trabajo al Primer Plano
Para devolver un proceso en segundo plano al primer plano, usa el comando fg. Puedes especificar un trabajo concreto por su ID (ejemplo: fg %1). Si ejecutas el comando fg sin argumentos, traerá al primer plano el trabajo en segundo plano más reciente (el marcado con +).
fg %1
Terminar Trabajos en Segundo Plano
Si necesitas detener un proceso en segundo plano, puedes usar el comando kill. Similar al comando fg, haces referencia al trabajo usando su ID precedido por un signo de porcentaje (%). Esta es una función clave del control de trabajos de Linux.
kill %1
Dominar estos comandos es esencial para cualquier usuario principiante de Linux que busque realizar múltiples tareas de manera eficiente en el shell.