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 anstehende Aufgabe abgeschlossen ist. Dies zwingt die Benutzer, entweder eine beträchtliche Zeit zu warten, bis der Prozess abgeschlossen ist, oder eine neue Shell zu erstellen.
Glücklicherweise können Sie Linux-Befehle im Hintergrund ausführen, indem Sie einige einfache Methoden befolgen.
1. Fügen Sie nach Ihrem Befehl ein kaufmännisches Und hinzu
Der einfachste Weg, einen Linux-Hintergrundbefehl auszuführen, besteht darin, eine hinzuzufügen Et-Zeichen (&) Symbol nach dem Befehl. Wenn Sie beispielsweise den Texteditor gedit von Ihrem Terminal aus starten, können Sie die Shell nicht verwenden, bis Sie den Editor schließen. Wenn Sie jedoch ein Extra hinzufügen & zu Ihrem Befehl können Sie die Shell sofort verwenden.
gedit &
2. Verwenden Sie bg, um laufende Befehle an den Hintergrund zu senden
Manchmal führen Sie einen Befehl aus, nur um herauszufinden, dass es viel länger dauert, bis er fertig ist. Sie können solche Befehle einfach in den Hintergrund senden, indem Sie auf die Schaltfläche klicken Strg + Z Tasten und dann mit der bg Befehl. Schlagen Strg + Z stoppt den laufenden Prozess, und bg nimmt es in den Hintergrund.
Sie können eine Liste aller Hintergrundaufgaben anzeigen, indem Sie eingeben Arbeitsplätze im Endgerät. Verwenden Sie die fg Befehl, um zur laufenden Aufgabe zurückzukehren.
3. Senden Sie mit nohup Befehle an den Hintergrund
Das neinhup Befehl in Linux ermöglicht es Administratoren, Terminalbefehle auszuführen, die gegen HUP oder HUP immun sind Auflegen Signale. Mit nohup können Sie unter Linux ganz einfach Befehle im Hintergrund ausführen.
Das folgende Beispiel führt einen einfachen Nmap-Port-Scan im Hintergrund aus.
nohup sudo nmap -sS
Ein wesentlicher Vorteil von nohup besteht darin, dass Ihre Befehle auch dann ausgeführt werden, wenn Sie die Shell verlassen. Darüber hinaus generiert es Protokolldateien der Ausführung. Suchen nohup.out im aktuellen Verzeichnis oder innerhalb von $HOME.
4. Führen Sie Hintergrundbefehle mit Systemumleitungen aus
Sie können unter Linux auch Hintergrundbefehle mithilfe von Systemumleitungen ausführen. Zum Beispiel, wenn Sie das Folgende ausführen Klingeln Befehl ausführen, wird Ihre Shell ihn im Hintergrund ausführen und Ihnen sofort die Kontrolle über das Terminal zurückgeben.
ping -c5 8.8.8.8 >output.log 2>&1 &
Hier wird die Ausgabe des Ping-Befehls auf die umgeleitet Ausgabe.log Datei. Sie können es durch ersetzen /dev/null wenn Sie das Ergebnis verwerfen möchten. Das 2>&1 weist Bash an, alle Fehler in dieselbe Datei umzuleiten. Der endgültige & signalisiert Bash, diesen Befehl im Hintergrund auszuführen.
5. Stellen Sie Linux-Befehle so ein, dass sie im Hintergrund ausgeführt werden, indem Sie disown verwenden
Das verleugnen Befehl macht es einfach, Prozesse im Hintergrund auszuführen. Zuerst müssen Sie die Aufgabe mithilfe von in den Hintergrund schicken & Operator. Geben Sie dann ein verleugnen um es von Ihrer Schale zu lösen.
gedit &
disown
Ein großer Vorteil von disown ist, dass das System wie bei nohup Ihren Task nicht abbricht, wenn Sie Ihre Shell schließen oder sich abmelden.
6. Führen Sie Linux-Befehle im Hintergrund mit tmux aus
tmux ist ein leistungsstarker Multiplexer, mit dem Sie mehrere Terminalsitzungen in einem einzigen Fenster ausführen können. Zu lernen, wie man tmux unter Linux verwendet und konfiguriert, ist eine ausgezeichnete Wahl für Leute, die damit nicht vertraut sind. tmux macht das Ausführen von Hintergrundbefehlen in Linux mühelos.
tmux new -d 'ping -c 10 8.8.8.8 > output.log'
Wenn Sie das oben ausgeführte ausführen tmux Befehl, wird es ausgeführt Klingeln Befehl in einer separaten Shell und lassen ihn im Hintergrund laufen. Mit dieser Methode können Sie jeden Linux-Prozess oder -Befehl im Hintergrund starten.
Lassen Sie Ihre Linux-Befehle im Hintergrund
Die Möglichkeit, Befehle im Hintergrund auszuführen, macht die Systemverwaltung für Administratoren produktiver. Sie können Ihre Aufgaben auf verschiedene Weise in den Hintergrund schicken. Bash-Funktionen wie die & Charakter u Strg + Z sind praktisch, aber das System beendet den Hintergrundjob, wenn die Shell geschlossen wird.
Auf der anderen Seite sind Tools wie neinhup und verleugnen Lassen Sie Ihren Befehl auch dann laufen, wenn Sie sich abmelden oder die Shell beenden.
Wenn Sie Ihre Programme längere Zeit im Hintergrund lassen, 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 hin und wieder Zombie-Prozesse identifizieren und beenden.