Ausführen von Linux-Befehlen im Hintergrund

Linux-Befehle sind eine großartige Möglichkeit, über das Terminal mit dem System zu interagieren. Manchmal kann es jedoch eine Weile dauern, bis die jeweilige Aufgabe erledigt ist. Dies zwingt Benutzer dazu, eine beträchtliche Zeit zu warten oder eine neue Shell zu erzeugen.

Glücklicherweise können Sie Linux-Befehle im Hintergrund ausführen, indem Sie einige einfache Methoden befolgen. Der Rest dieses Artikels veranschaulicht einige dieser Methoden.

1. Fügen Sie nach Ihrem Befehl ein kaufmännisches Und hinzu

Der einfachste Weg, einen Linux-Hintergrundbefehl auszuführen, besteht darin, nach dem Befehl ein kaufmännisches Und- Zeichen ( & ) einzufügen . Wenn Sie beispielsweise den gedit-Texteditor von Ihrem Terminal aus starten, können Sie die Shell erst verwenden, wenn Sie den Editor schließen. Wenn Sie Ihrem Befehl jedoch ein zusätzliches & hinzufügen, können Sie die Shell sofort verwenden.

 gedit &
Ausführen von Linux-Befehlen im Hintergrund - run linux command in background

2. Verwenden Sie bg, um laufende Befehle an den Hintergrund zu senden

Manchmal führen Sie einen Befehl nur aus, um herauszufinden, dass das Beenden viel länger dauert. Sie können diese Befehle einfach in den Hintergrund senden, indem Sie die Tasten Strg + Z drücken und dann den Befehl bg verwenden . Strg + Z stoppt den laufenden Prozess und bg rückt ihn in den Hintergrund.

Ausführen von Linux-Befehlen im Hintergrund - set Linux commands to background 1

Sie können eine Liste aller Hintergrundaufgaben anzeigen, indem Sie Jobs in das Terminal eingeben. Verwenden Sie den Befehl fg , um zur laufenden Aufgabe zurückzukehren.

3. Senden Sie Befehle mit nohup in den Hintergrund

Mit dem Befehl nohup unter Linux können Administratoren Terminalbefehle ausführen, die gegen HUP- oder Hang-Up- Signale immun sind. Sie können Linux-Befehle im Hintergrund mit nohup ausführen.

Im folgenden Beispiel wird im Hintergrund ein Nmap-Port-Scan ausgeführt .

 nohup sudo nmap -sS --top-ports=15 192.168.1.1/24

Ein wesentlicher Vorteil von nohup ist, dass Ihre Befehle auch dann ausgeführt werden, wenn Sie die Shell verlassen. Darüber hinaus werden Protokolldateien der Ausführung generiert. Suchen Sie im aktuellen Verzeichnis oder in $ HOME nach nohup.out .

Ausführen von Linux-Befehlen im Hintergrund - background Linux commands with nohup

4. Führen Sie Hintergrundbefehle mithilfe von Systemumleitungen aus

Sie können Hintergrundbefehle auch unter Linux mithilfe von Systemumleitungen ausführen. Wenn Sie beispielsweise den folgenden Ping- Befehl ausführen, wird er von Ihrer Shell im Hintergrund ausgeführt und gibt die Terminal-Eingabeaufforderung sofort zurück.

 ping -c5 8.8.8.8 >output.log 2>&1 &

Hier wird die Ausgabe des Ping-Befehls in die Datei output.log umgeleitet. Sie können es durch / dev / null ersetzen, wenn Sie das Ergebnis verwerfen möchten. Die 2> & 1 weist bash an, alle Fehler in dieselbe Datei umzuleiten. Das letzte & signalisiert Bash, um diesen Befehl im Hintergrund auszuführen.

Ausführen von Linux-Befehlen im Hintergrund - Linux command background redirect output0A

5. Setzen Sie Linux-Befehle mit disown auf den Hintergrund

Der Befehl disown unter Linux erleichtert das Ausführen von Befehlen im Hintergrund. Zunächst müssen Sie die Aufgabe mit dem Operator & im Hintergrund senden. Geben Sie dann disown ein , um es von Ihrer Shell zu lösen.

 gedit &
disown

Ein Hauptvorteil von Disown ist, dass das System wie nohup Ihre Aufgabe nicht beendet, wenn Sie Ihre Shell schließen oder sich abmelden.

Ausführen von Linux-Befehlen im Hintergrund - set Linux commands background

6. Führen Sie Linux-Befehle im Hintergrund mit Tmux aus

Tmux ist ein leistungsstarker Multiplexer, mit dem wir mehrere Terminalsitzungen in einem einzigen Fenster ausführen können. Das Erlernen von tmux ist eine ausgezeichnete Wahl für Menschen, die mit tmux nicht vertraut sind. Tmux macht das Ausführen von Hintergrundbefehlen unter Linux mühelos.

 tmux new -d 'ping -c 10 8.8.8.8 > output.log'

Wenn Sie den obigen Befehl tmux ausführen, wird der Befehl ping in einer separaten Shell ausgeführt und im Hintergrund beibehalten . Mit dieser Methode können Sie jeden Linux-Befehl im Hintergrund ausführen.

Ausführen von Linux-Befehlen im Hintergrund - run background Linux commands with

Verwandte: So installieren und konfigurieren Sie Tmux für Linux

Lassen Sie Ihre Linux-Befehle im Hintergrund

Durch die Möglichkeit, Befehle im Hintergrund auszuführen, wird die Systemverwaltung für Administratoren produktiver. Sie können Ihre Aufgaben auf verschiedene Arten im Hintergrund ausführen. Bash-Funktionen wie & und Strg + Z sind praktisch, aber das System beendet den Hintergrundjob, wenn die Shell geschlossen wird. Auf der anderen Seite halten Tools wie nohup und disown Ihren Befehl auch dann am Laufen, wenn Sie sich abmelden oder die Shell beenden.

Wenn Sie Ihre Programme längere Zeit im Hintergrund belassen, können sie zu Zombie-Prozessen werden, wenn sie nicht richtig codiert sind. Diese Prozesse können das System erheblich verlangsamen. Stellen Sie also sicher, dass Sie von Zeit zu Zeit Zombie-Prozesse identifizieren und beenden.