Ausführen von Linux-Befehlen im Hintergrund und Vordergrund

Veröffentlicht in: Articles | 0

Wenn Sie eine lang laufende Aufgabe haben, ist es nicht immer ratsam zu warten, bis sie beendet ist. Ich meine, warum das Terminal für einen bestimmten Befehl besetzt halten? Unter Linux können Sie einen Befehl oder Prozess an den Hintergrund senden, damit der Befehl ausgeführt wird, das Terminal jedoch andere Befehle ausführen kann.

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 rücken können.,

Starten Sie einen Linux-Prozess direkt im Hintergrund

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

Um einen Linux-Befehl im Hintergrund auszuführen, müssen Sie lediglich ampersand () am Ende des Befehls wie folgt hinzufügen:

your_command &

Nehmen wir einen einfachen Bash sleep-Befehl und senden ihn an den Hintergrund.

sleep 60 &

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

+ Done sleep 60

Senden Sie eine Linux Prozess im hintergrund

Wenn Sie schon lief ein Programm und dann realisiert, dass Sie haben sollten, führen Sie es im hintergrund, keine Sorge. Sie können einen laufenden Prozess auch an den Hintergrund senden.

Hier müssen Sie Strg+Z verwenden, um den laufenden Prozess anzuhalten, und dann ‘bg‘ (kurz für Hintergrund) verwenden, um den Prozess im Hintergrund zu senden. Der suspendierte Prozess wird nun im Hintergrund ausgeführt.

running_command^zbg

nehmen wir das gleiche Beispiel wie zuvor.,

abhishek@linuxhandbook:~$ sleep 60^Z+ Stopped sleep 60abhishek@linuxhandbook:~$ bg+ sleep 60 &

Alle im Hintergrund laufenden Prozesse anzeigen

Nachdem Sie nun wissen, wie die Prozesse im Hintergrund gesendet werden, könnten Sie daran interessiert sein zu wissen, welche Befehle im Hintergrund ausgeführt werden.

Zu diesem Zweck können Sie diesen Befehl im Terminal eingeben:

jobs

Lassen Sie uns zuerst einige Befehle in den Hintergrund stellen.

firefox &gedit &vim &

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

jobs Running firefox &- Running gedit &+ Stopped vim

Bemerken Sie die Zahlen usw.?, Dies sind die job-ids. Sie würden auch das Zeichen – und + auf zwei der Befehle bemerken. Das + – Zeichen zeigt den letzten Job an, den Sie ausgeführt oder auf den Sie verzichtet haben. Das-Zeichen zeigt den vorletzten Job an, den Sie ausgeführt oder auf den Sie verzichtet haben.

Bringen Sie einen Prozess in Linux in den Vordergrund

In Ordnung! Sie haben also gelernt, Befehle unter Linux im Hintergrund auszuführen. Aber was ist mit einem Prozess, der im Hintergrund ausgeführt wird, wieder in den Vordergrund zu rücken?

Um den Befehl an den Hintergrund zu senden, haben Sie ‚bg’verwendet. Verwenden Sie den Befehl ‚fg‘, um den Hintergrundprozess zurückzubringen.,

fg

Wenn Sie nun einfach fg verwenden, wird der letzte Prozess in der Hintergrundauftragswarteschlange in den Vordergrund gestellt. 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 stellen möchten, müssen Sie dessen 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 war ‚ s

Dies 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 auch nach dem Abmelden von der Sitzung im Hintergrund ausführen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.