GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwalten Sie Linux-Hintergrundjobs mit den Befehlen fg und bg

In Linux- und Unix-Systemen wird ein Job als eine Aufgabe definiert, die mit der Ausführung begonnen hat und noch nicht abgeschlossen ist. Jede Aufgabe ist im Grunde genommen ein ausgeführtes Programm, das ein Prozess ist.

Jedem Job wird eine eindeutige ID namens Jobnummer (Job-ID) zugewiesen. Wir können die Jobs ohne Eingriff des Benutzers im Hintergrund ausführen und auch als aktuelle Jobs im Vordergrund ausführen.

In diesem Tutorial lernen wir die fg- und bg-Befehle kennen, um Jobs unter Linux zu verwalten.

bg-Befehl

Die Prozesse, die durch ein Interrupt-Signal gestoppt wurden, können im Hintergrund mit dem Befehl bg fortgesetzt werden.

$ nautilus
^Z
[1]+ Stopped nautilus

Dieser Vorgang wurde mit ctrl+z gestoppt Signal unterbrechen. Die gestoppten Prozesse können mit dem Befehl jobs überprüft werden. Aber bevor wir das überprüfen, lassen Sie uns einen anderen Job erstellen und ihn mit einem Stoppsignal unterbrechen.

$ 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

Sie können sehen, dass der Status der Jobs gestoppt ist. Das Pluszeichen (+) zeigt den aktuellen Job an. Minuszeichen (-) bezieht sich auf den vorherigen Job. Um den angehaltenen Job nun im Hintergrund auszuführen, verwenden wir den Befehl bg. Wenn kein Argument angegeben wird, führt bg standardmäßig den aktuellen Job im Hintergrund aus.

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

Der bg-Befehl kann die Jobnummer als Argument annehmen. Die Auftragsnummer wird in der Ausgabe von Aufträgen in eckigen Klammern angegeben.

Im obigen Beispiel ist die Jobnummer von nautilus 1. Also verwenden wir jetzt diese Jobnummer, um den Job im Hintergrund auszuführen. Der % Zeichen ist für die Angabe der Auftragsnummer erforderlich.

$ bg %1
[1]+ nautilus &

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

Der bg-Befehl kann auch über seinen Namen auf einen Job verweisen. Zum Beispiel %String bezieht sich auf einen Job, dessen Name mit der angegebenen Zeichenfolge und %?String beginnt verweist auf einen Job, dessen Name die angegebene Zeichenfolge enthält.

Zur Veranschaulichung haben wir zwei angehaltene Jobs.

$ 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 &

fg-Befehl

Der fg-Befehl ist wie der bg-Befehl, außer dass er einen Befehl nicht im Hintergrund sendet, sondern im Vordergrund ausführt und das aktuelle Terminal belegt und auf das Beenden des Prozesses wartet.

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

Ohne Argumente führt fg den aktuellen Job im Vordergrund aus (in diesem Fall vi).

# fg
vi

Da der Befehl im Vordergrund ausgeführt wird, erhalten wir das Terminal nicht zurück, bis der Befehl beendet wird. Der Job-Befehl zeigt jetzt also nur einen Job an, da vi jetzt beendet wird.

# jobs
[1]+ Stopped makewhatis

# fg %1
makewhatis

# jobs

Kein Restjob. Wie bg, %String und %?String arbeite auch für fg.

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

# fg %v
vi

# fg %?what
makewhatis

Schlussfolgerung

In diesem Tutorial haben wir anhand einiger Beispiele gelernt, wie man Jobs mit den Befehlen fg und bg steuert. Ich hoffe, es hat Ihnen gefallen und bitte hinterlassen Sie Ihre Vorschläge im Kommentarbereich unten.


Linux
  1. So starten Sie den Linux-Befehl im Hintergrund und trennen den Prozess im Terminal

  2. Verwendung von Pipes und Named Pipes unter Linux (mit Beispielen)

  3. Linux-Befehle:jobs, bg und fg

  4. So verwalten Sie Ihren Linux-Befehlsverlauf

  5. jobs-Befehlsoptionen in Linux

So arbeiten Sie mit Vordergrund- und Hintergrundprozessen unter Linux

So installieren und verwenden Sie den Ack-Befehl unter Linux mit Beispielen

So installieren und verwenden Sie den fd-Befehl unter Linux

So verwenden Sie den Jobs-Befehl unter Linux

So erstellen und verwalten Sie neue Benutzer unter Linux

Linux-crontab-Befehl zum Erstellen und Verwalten von Cron-Jobs