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

Verstehen der Jobsteuerungsbefehle in Linux – bg, fg und STRG+Z

Was ist ein Job unter Linux

Ein Job ist ein Prozess, der von der Shell verwaltet wird. Jedem Job wird eine fortlaufende Job-ID zugeordnet. Da ein Job ein Prozess ist, hat jeder Job eine zugeordnete PID. Es gibt drei Arten von Auftragsstatus:
1. Vordergrund :Wenn Sie einen Befehl in ein Terminalfenster eingeben, belegt der Befehl dieses Terminalfenster, bis er abgeschlossen ist. Dies ist ein Vordergrundjob.
2. Hintergrund :Wenn Sie am Ende einer Befehlszeile ein kaufmännisches Und-Symbol (&) eingeben, wird der Befehl ausgeführt, ohne das Terminalfenster zu belegen. Der Shell-Prompt wird sofort angezeigt, nachdem Sie die Eingabetaste gedrückt haben. Dies ist ein Beispiel für einen Hintergrundjob.
3. Angehalten :Wenn Sie Strg + Z für einen Vordergrundjob drücken oder den Stoppbefehl für einen Hintergrundjob eingeben, wird der Job angehalten. Dieser Job wird als gestoppter Job bezeichnet.

Hinweis :Außer der Bourne-Shell unterstützen die anderen Shells die Jobsteuerung.

Auftragssteuerungsbefehle

Auftragssteuerungsbefehle ermöglichen es Ihnen, Aufträge in den Vordergrund oder Hintergrund zu stellen und Aufträge zu starten oder zu stoppen. Die Tabelle beschreibt die Befehle zur Jobsteuerung.

Option Beschreibung
Arbeitsplätze Listet alle Jobs auf
bg %n Stellt den aktuellen oder angegebenen Job in den Hintergrund, wobei n die Job-ID ist
fg %n Bringt den aktuellen oder angegebenen Job in den Vordergrund, wobei n die Job-ID ist
Strg-Z Beendet den Vordergrundjob und stellt ihn als gestoppten Job in den Hintergrund
Hinweis :Mit den Befehlen zur Jobsteuerung können Sie mehrere Jobs innerhalb einer Shell ausführen und verwalten. Sie können die Auftragssteuerungsbefehle jedoch nur in der Shell verwenden, in der der Auftrag initiiert wurde.

Einen Job im Hintergrund ausführen

Um einen Job im Hintergrund auszuführen, müssen Sie den Befehl eingeben, den Sie ausführen möchten, gefolgt von einem kaufmännischen Und (&) Symbol am Ende der Befehlszeile. Führen Sie beispielsweise den Sleep-Befehl im Hintergrund aus.

$ sleep 100 & 
[1] 1302
$

Die Shell gibt in Klammern die Job-ID zurück, die sie dem Befehl und der zugehörigen PID zuweist. Mit der Job-ID können Sie die Jobsteuerungsbefehle verwenden, um den Job zu verwalten, während der Kernel PIDs verwendet, um Jobs zu verwalten.

Wenn ein Hintergrundjob abgeschlossen ist und Sie die Eingabetaste drücken, zeigt die Shell eine Meldung an, dass der Job erledigt ist.

[1] + Done         sleep 100 &
$

Verwaltung der Hintergrundjobs

Sie können die Jobs verwenden Befehl, um die Jobs aufzulisten, die derzeit im Hintergrund ausgeführt oder angehalten werden.

$ jobs
[1]+  Running                 sleep 100 &

Sie können den Befehl fg verwenden, um einen Hintergrundjob in den Vordergrund zu bringen.

$ fg % 1
sleep 100
Hinweis :Der Job im Vordergrund belegt die Shell, bis der Job abgeschlossen, ausgesetzt oder gestoppt und in den Hintergrund gestellt wird.

Sie können „Strg+Z verwenden Tasten und bg Befehl, um einen Job in den Hintergrund zurückzubringen. Die Tasten Strg+Z unterbrechen den Job und platzieren ihn als gestoppten Job im Hintergrund. Der Befehl bg führt den Job im Hintergrund aus. Zum Beispiel:
1. Mit STRG+Z

$ sleep 100
^Z
[1]+  Stopped                 sleep 100
$ jobs
[1]+  Stopped                 sleep 100

2. Verwenden von bg

$ bg % 1
[1]+ sleep 100 &
$ jobs
[1]+  Running                 sleep 100 &
Hinweis :Wenn Sie einen angehaltenen Job entweder in den Vordergrund oder in den Hintergrund stellen, wird der Job neu gestartet.


Linux
  1. Einführung in die Linux-Befehle chgrp und newgrp

  2. Verstehen verschiedener Klassifizierungen von Shell-Befehlen und ihrer Verwendung in Linux

  3. Verstehen der Shutdown-, Poweroff-, Halt- und Reboot-Befehle in Linux

  4. Linux-Befehle – Übersicht und Beispiele

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

So führen Sie Linux-Befehle im Hintergrund aus

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

Suchen, studieren und üben Sie Linux-Befehle im Handumdrehen mit Tldr++

Die 40 nützlichen Linux-Server-Befehle für Anfänger und Profis

Verstehen des uname-Befehls in Linux

Verstehen des Zeitbefehls in Linux