LINUX

Cómo administrar trabajos en segundo plano de Linux con el comando fg y bg

En los sistemas Linux y Unix, un trabajo se define como una tarea que ha comenzado a ejecutarse y aún no se ha completado. Cada tarea son básicamente programas en ejecución que es un proceso.

A cada trabajo se le asigna una identificación única llamada número de trabajo (ID de trabajo). Podemos ejecutar los trabajos en segundo plano sin ninguna intervención del usuario y también se pueden ejecutar en primer plano como trabajos actuales.

En este tutorial, aprendemos sobre los comandos fg y bg para administrar trabajos en Linux.

comando bg

Los procesos que se han detenido por alguna señal de interrupción se pueden continuar en segundo plano con el comando bg.

$ nautilus
^Z
[1]+ Stopped nautilus

Este proceso se ha detenido con ctrl+z señal de interrupción. Los procesos detenidos se pueden verificar con el comando de trabajos. Pero antes de verificar, creemos otro trabajo e interrumpamos con la señal de parada.

$ jedit
9:22:28 AM [main] [warning] jEdit: inifPLAF failed to set required l&f
9:22:29 AM [main] [warning] jEdit: inifPLAF failed to set required l&f
^Z
[2]+ Stopped jedit

$ jobs
[1]- Stopped nautilus
[2]+ Stopped jedit

Puede ver que el estado de los trabajos está detenido. El signo más (+) indica el trabajo actual. El signo menos (-) se refiere al trabajo anterior. Ahora, para ejecutar el trabajo detenido en segundo plano, usamos el comando bg. De forma predeterminada, si no se proporciona ningún argumento, bg ejecuta el trabajo actual en segundo plano.

$ bg
[2]+ jedit &
$ jobs
[1]+ Stopped nautilus
[2]- Running jedit &

El comando bg puede tomar el número de trabajo como argumento. El número de trabajo se indica entre corchetes en la salida de trabajos.

En el ejemplo anterior, el número de trabajo de nautilus es 1. Así que ahora usamos este número de trabajo para ejecutar el trabajo en segundo plano. los % Se requiere un signo para indicar el número de trabajo.

$ bg %1
[1]+ nautilus &

$ jobs
[1]- Running nautilus &
[2]+ Running jedit &

El comando bg también puede hacer referencia a un trabajo por su nombre. Por ejemplo %String se refiere a un trabajo cuyo nombre comienza con la cadena especificada y %?String hace referencia a un trabajo cuyo nombre contiene la cadena especificada.

Por ejemplo, tenemos dos trabajos detenidos.

$ jobs
[1]+ Stopped nautilus
[2]- Stopped jedit

$ bg %nau
[1]+ nautilus &

$ jobs
[1]- Running nautilus &
[2]+ Stopped jedit

$ bg %?ed
[2]+ jedit &

$ jobs
[1]- Running nautilus &
[2]+ Running jedit &

comando fg

El comando fg es como el comando bg excepto que en lugar de enviar un comando en segundo plano, lo ejecuta en primer plano y ocupa la terminal actual y espera a que el proceso salga.

# jobs
[1]- Stopped makewhatis
[2]+ Stopped vi

Sin ningún argumento, fg ejecutará el trabajo actual en primer plano (vi en este caso).

# fg
vi

Como el comando se ejecuta en primer plano, no recuperamos el terminal hasta que el comando sale. Por lo tanto, el comando de trabajos ahora mostrará solo un trabajo, ya que vi saldrá ahora.

# jobs
[1]+ Stopped makewhatis

# fg %1
makewhatis

# jobs

No queda trabajo. Como bg, %String y %?String también funciona para fg.

# jobs
[1]- Stopped makewhatis
[2]+ Stopped vi

# fg %v
vi

# fg %?what
makewhatis

Conclusión

En este tutorial, aprendimos cómo controlar el trabajo usando los comandos fg y bg usando algunos ejemplos. Espero que lo haya disfrutado y deje sus sugerencias en la sección de comentarios a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar