Linux bg-Befehl
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
^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
[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äuftfg: Den Job wieder in den Vordergrund holen, um ihn auszuführen
Praktische Anwendungsbeispiele
Szenario: Typischer Workflow in der Entwicklung
Beispiel
$ 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
[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 startetbg: 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
Fortgeschrittene Tipps
1. Mit disown verwenden
Trennt den Job vom Terminal, damit er nicht beendet wird, auch wenn das Terminal geschlossen wird:
Beispiel
^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
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-Befehlsreferenz