GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo administrar trabajos en segundo plano de Linux con los comandos 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 es 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 ejecutarlos 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 han sido detenidos por alguna señal de interrupción 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 comprobar, vamos a crear otro trabajo e interrumpirlo con una 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. Ahora usamos este número de trabajo para ejecutar el trabajo en segundo plano. El % se requiere firmar 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 se refiere 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 finalice el proceso.

# 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 la terminal hasta que finaliza el comando. 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 hayan disfrutado y dejen sus sugerencias en la sección de comentarios a continuación.


Linux
  1. Cómo iniciar el comando de Linux en segundo plano y separar el proceso en la terminal

  2. Cómo administrar y enumerar servicios en Linux

  3. Cómo usar tuberías y tuberías con nombre en Linux (con ejemplos)

  4. Comandos de Linux:trabajos, bg y fg

  5. Opciones de comando de trabajos en Linux

Cómo trabajar con procesos en primer plano y en segundo plano en Linux

Cómo instalar y usar el comando Ack en Linux con ejemplos

Cómo instalar y usar el comando fd en Linux

Cómo usar el comando Jobs en Linux

Cómo crear y administrar nuevos usuarios en Linux

Comando crontab de Linux para crear y administrar trabajos cron