Linux bg-Befehl

Linux 命令大全Linux-Befehlsreferenz

bgist einer der Kernbefehle für die Jobsteuerung in Linux/Unix-Systemen, mit dem vollständigen Namen "background". Seine Hauptfunktion besteht darin, aktuell angehaltene Jobs in den Hintergrund zu verschieben, damit sie weiterlaufen.

Grundlegende Konzepte

  • Vordergrundjob: Ein Prozess, der im Terminal läuft und Eingabe/Ausgabe belegt
  • Hintergrundjob: Ein Prozess, der im Hintergrund des Terminals läuft, ohne Eingabe/Ausgabe zu belegen
  • Jobkontrolle: Die Fähigkeit, Vordergrund- und Hintergrundprozesse zu verwalten

Befehlssyntax

bg [作业号]

Parameterbeschreibung

Parameter Beschreibung
Kein Parameter Wirkt auf den aktuellen Job (d. h. den zuletzt angehaltenen Job)
Job-Nummer Geben Sie die Job-Nummer an, auf der operiert werden soll (kann angezeigt werden über denjobsBefehl)

Verwendungsszenarien

1. Angehaltene Jobs fortsetzen

Wenn Sie verwendenCtrl+ZUm einen Vordergrundjob anzuhalten, können Sie denbgBefehl verwenden, damit er im Hintergrund weiterläuft:

Beispiel

$ sleep 100  # Einen lang laufenden Befehl starten
^Z           # Drücken Sie Ctrl+Z, um zu pausieren
[1]+ Angehalten        sleep 100
$ bg         # Im Hintergrund weiterlaufen lassen
[1]+ sleep 100 &

2. Fortsetzen durch Angabe der Jobnummer

Wenn mehrere angehaltene Jobs vorhanden sind, können Sie eine Jobnummer angeben:

Beispiel

$ jobs
[1]- Angehalten        vim file1.txt
[2]+ Angehalten python script.py
$ bg 2  # Den zweiten Job im Hintergrund weiterlaufen lassen

3. Verwendung mit dem fg-Befehl

bgundfg(Vordergrund) ist ein Paar komplementärer Befehle:

  • bg: Den Job in den Hintergrund verschieben, damit er weiterläuft
  • fg: Den Job wieder in den Vordergrund holen, um ihn auszuführen

Praktische Anwendungsbeispiele

Szenario: Typischer Workflow in der Entwicklung

Beispiel

# 1. Editor starten
$ vim app.py

# 2. Tests müssen vorübergehend ausgeführt werden (Ctrl+Z drücken, um vim zu pausieren)
^Z
[1]+ Angehalten        vim app.py

# 3. Testskript ausführen
$ python test.py

# 4. Nachdem der Test abgeschlossen ist, den Editor wieder in den Hintergrund schicken, um weiterzuarbeiten
$ bg 1
[1]+ vim app.py &

# 5. Hintergrundjobs anzeigen
$ jobs
[1]+ Läuft        vim app.py &

FAQ

Frage 1: Wie kann man überprüfen, welche Jobs gerade laufen?

Verwenden Sie diejobscommand:

Beispiel

$ jobs
[1]- Läuft        sleep 100 &
[2]+ Angehalten        vim notes.txt

F2: Was ist der Unterschied zwischen bg und &?

  • &: Wird direkt im Hintergrund ausgeführt, wenn der Befehl startet
  • bg: Versetzt bereits angehaltene Jobs in den Hintergrund

F3: Was passiert mit bg-Jobs nach dem Schließen des Terminals?

Standardmäßig werden Hintergrundjobs beendet, wenn das Terminal geschlossen wird. Um sie weiterlaufen zu lassen, können Sie Folgendes verwenden:

Beispiel

nohup command &  # Oder verwenden Sie tmux/screen

Fortgeschrittene Tipps

1. Mit disown verwenden

Trennt den Job vom Terminal, damit er nicht beendet wird, auch wenn das Terminal geschlossen wird:

Beispiel

$ sleep 1000
^Z
$ bg
$ disown %1

2. Job-Nummern-Shortcuts verwenden

  • %n: Job-Nummer n
  • %str: Job, der mit str beginnt
  • %?str: Job, der str enthält

Beispiel

$ bg %sleep  # Setze den Job fort, der "sleep" enthält

Zusammenfassungs-Flussdiagramm

Die Beherrschung desbgBefehls kann Ihre Arbeitseffizienz unter Linux erheblich verbessern, insbesondere wenn Sie mehrere Aufgaben gleichzeitig bearbeiten müssen. In Kombination mitjobs、fgundkillund anderen Befehlen können Sie leistungsstarke Job-Control-Fähigkeiten erreichen.

Linux 命令大全Linux-Befehlsreferenz

Andere Erweiterungen