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

Ausführen von Linux-Befehlen im Hintergrund und Vordergrund

Wenn Sie eine lang andauernde Aufgabe haben, ist es nicht immer ratsam, auf deren Abschluss zu warten. Ich meine, warum das Terminal für einen bestimmten Befehl besetzt halten? Unter Linux können Sie einen Befehl oder Prozess in den Hintergrund schicken, sodass der Befehl ausgeführt wird, aber das Terminal bleibt für Sie frei, andere Befehle auszuführen.

In diesem Tutorial zeige ich Ihnen einige Möglichkeiten, einen Prozess im Hintergrund zu senden. Ich zeige Ihnen auch, wie Sie die Hintergrundprozesse wieder in den Vordergrund bringen.

Linux-Prozess direkt im Hintergrund starten

Wenn Sie wissen, dass der Befehl oder Prozess lange dauern wird, wäre es eine bessere Idee, den Befehl selbst im Hintergrund zu starten.

Um einen Linux-Befehl im Hintergrund auszuführen, müssen Sie lediglich das kaufmännische Und (&) am Ende des Befehls hinzufügen, wie hier:

your_command &

Nehmen wir einen einfachen Bash-Sleep-Befehl und senden ihn in den Hintergrund.

sleep 60 &

Wenn der Befehl im Hintergrund beendet wird, sollten Sie Informationen darüber auf dem Terminal sehen.

[1]+  Done                    sleep 60

Sende einen laufenden Linux-Prozess in den Hintergrund

Wenn Sie bereits ein Programm ausgeführt haben und dann festgestellt haben, dass Sie es im Hintergrund hätten ausführen sollen, machen Sie sich keine Sorgen. Sie können einen laufenden Prozess auch in den Hintergrund schicken.

Was Sie hier tun müssen, ist Strg+Z zu verwenden um den laufenden Prozess zu unterbrechen und verwenden Sie dann ‘bg ‘ (kurz für Hintergrund), um den Prozess in den Hintergrund zu schicken. Der angehaltene Prozess wird nun im Hintergrund ausgeführt.

running_command
^z
bg

Nehmen wir dasselbe Beispiel wie zuvor.

[email protected]:~$ sleep 60
^Z
[1]+  Stopped                 sleep 60
[email protected]:~$ bg
[1]+ sleep 60 &

Alle im Hintergrund laufenden Prozesse anzeigen

Nachdem Sie nun wissen, wie die Prozesse im Hintergrund gesendet werden, interessiert es Sie vielleicht, welche Befehle im Hintergrund ausgeführt werden.

Dazu können Sie im Terminal diesen Befehl eingeben:

jobs

Lassen Sie uns zuerst einige Befehle in den Hintergrund stellen.

firefox &
gedit &
vim &

Jetzt zeigt Ihnen der Jobs-Befehl alle laufenden Jobs/Prozesse/Befehle im Hintergrund wie folgt:

jobs
[1]   Running                 firefox &
[2]-  Running                 gedit &
[3]+  Stopped                 vim

Beachten Sie die Zahlen [1], [2] und [3] usw.? Dies sind die Job-IDs. Sie würden auch das – und + Zeichen bei zwei der Befehle bemerken. Das +-Zeichen zeigt den letzten Job an, den Sie ausgeführt oder in den Vordergrund gestellt haben. Das Zeichen – zeigt den vorletzten Job an, den Sie ausgeführt oder in den Vordergrund gestellt haben.

Einen Prozess in Linux in den Vordergrund bringen

In Ordnung! Sie haben also gelernt, Befehle unter Linux im Hintergrund auszuführen. Aber wie wäre es, einen im Hintergrund laufenden Prozess wieder in den Vordergrund zu holen?

Um den Befehl in den Hintergrund zu senden, haben Sie „bg“ verwendet. Um den Hintergrundprozess zurückzubringen, verwenden Sie den Befehl „fg“.

fg

Wenn Sie jetzt einfach fg verwenden, wird der letzte Prozess in der Hintergrundjobwarteschlange in den Vordergrund gebracht. In unserem vorherigen Beispiel bringt das Ausführen von „fg“ den Vim-Editor zurück zum Terminal.

Wenn Sie einen bestimmten Prozess in den Vordergrund holen möchten, müssen Sie seine Job-ID angeben. Die Job-ID ist die Nummer, die Sie am Anfang jeder Zeile in der Ausgabe des Befehls „jobs“ sehen.

fg n

Wobei n die Job-ID ist, wie sie in der Ausgabe des Befehls jobs.

angezeigt wird

Das ist es

Das war schnell, aber genug, um ein paar Dinge über das Ausführen von Befehlen im Hintergrund unter Linux zu lernen. Ich würde empfehlen, auch den Befehl nohup zu lernen. Mit diesem Befehl können Sie Befehle im Hintergrund ausführen, selbst nachdem Sie sich von der Sitzung abgemeldet haben.

Wenn Sie Fragen oder Anregungen haben, hinterlassen Sie bitte unten einen Kommentar.


Linux
  1. Überwachen Sie Befehle und Aufgaben mit dem Linux-Überwachungsbefehl

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

  3. So speichern Sie Linux-Befehle und verwenden sie bei Bedarf

  4. Linux-Befehle:jobs, bg und fg

  5. A bis Z Linux-Befehle

So führen Sie Linux-Befehle im Hintergrund aus

Grundlegende Linux-Befehle

Linux-Befehle - Vollständiges Handbuch

So führen Sie Linux-Startskripts und -Befehle automatisch aus

So arbeiten Sie mit Vordergrund- und Hintergrundprozessen unter Linux

Setzen Sie einen Timer auf Ihre laufenden Befehle mit dem Timeout-Befehl in Linux