Comando bg de Linux

Linux 命令大全Manual completo de comandos de Linux

bgEs uno de los comandos principales para el control de trabajos (Job Control) en sistemas Linux/Unix, su nombre completo es "background". Su función principal es transferir el trabajo (job) actualmente en pausa al segundo plano para que continúe ejecutándose.

Conceptos básicos

  • Trabajo en primer plano: proceso que se ejecuta en la terminal y ocupa entrada/salida
  • Trabajo en segundo plano: proceso que se ejecuta en segundo plano de la terminal sin ocupar entrada/salida
  • Control de trabajos: capacidad de gestionar procesos en primer y segundo plano

Sintaxis del comando

bg [作业号]

Descripción de parámetros

Parámetro Descripción
Sin parámetro Actúa sobre el trabajo actual (es decir, el trabajo pausado más recientemente)
Número de trabajo Especifica el número de trabajo a operar (se puede consultar con eljobscomando)

Escenarios de uso

1. Reanudar trabajos en pausa

Cuando usasCtrl+Zpara pausar un trabajo en primer plano, puedes usar elbgcomando para que continúe ejecutándose en segundo plano:

Ejemplo

$ sleep 100  # Iniciar un comando de larga duración
^Z           # Pulsar Ctrl+Z para pausar
[1]+  Stopped        sleep 100
$ bg         # Hacer que continúe en segundo plano
[1]+ sleep 100 &

2. Reanudar especificando el número de trabajo

Cuando hay varios trabajos en pausa, se puede especificar el número de trabajo:

Ejemplo

$ jobs
[1]-  Stopped        vim file1.txt
[2]+  Stopped        python script.py
$ bg 2  # Hacer que el segundo trabajo continúe en segundo plano

3. Uso combinado con el comando fg

bgyfg(foreground) son un par de comandos complementarios:

  • bg: coloca el trabajo en segundo plano
  • fg: trae el trabajo de vuelta al primer plano

Ejemplo de aplicación práctica

Escenario: flujo de trabajo típico en desarrollo

Ejemplo

# 1. Iniciar el editor
$ vim app.py

# 2. Necesitas ejecutar pruebas temporalmente (pulsa Ctrl+Z para pausar vim)
^Z
[1]+  Stopped        vim app.py

# 3. Ejecutar el script de prueba
$ python test.py

# 4. Después de las pruebas, hacer que el editor vuelva al segundo plano y continúe
$ bg 1
[1]+ vim app.py &

# 5. Ver trabajos en segundo plano
$ jobs
[1]+  Running        vim app.py &

Preguntas frecuentes

Q1: ¿Cómo ver qué trabajos hay actualmente?

Usa eljobscomando:

Ejemplo

$ jobs
[1]-  Running        sleep 100 &
[2]+  Stopped        vim notes.txt

Q2: ¿Cuál es la diferencia entre bg y &?

  • &: coloca directamente en segundo plano al iniciar el comando
  • bg: coloca en segundo plano un trabajo ya pausado

Q3: ¿Qué ocurre con los trabajos de bg después de cerrar la terminal?

Por defecto, los trabajos en segundo plano se terminan al cerrar la terminal. Para conservarlos, se puede usar:

Ejemplo

nohup command &  # O usar tmux/screen

Técnicas avanzadas

1. Uso combinado con disown

Desvincula el trabajo de la terminal; no se terminará incluso al cerrar la terminal:

Ejemplo

$ sleep 1000
^Z
$ bg
$ disown %1

2. Usar atajos de número de trabajo

  • %n: trabajo número n
  • %str: trabajo que comienza con str
  • %?str: trabajo que contiene str

Ejemplo

$ bg %sleep  # Reanudar el trabajo que contiene "sleep"

Diagrama de flujo de resumen

Dominar elbgcomando puede mejorar significativamente tu eficiencia en Linux, especialmente cuando necesitas manejar múltiples tareas a la vez. Combinado conjobs、fgykilletc., puedes lograr una potente capacidad de control de trabajos.

Linux 命令大全Manual completo de comandos de Linux

Otras extensiones