So führen Sie Linux -Befehle im Hintergrund aus

So führen Sie Linux -Befehle im Hintergrund aus

Durch das Ausführen von Linux -Befehlen im Hintergrund kann der Benutzer weiterhin andere Aufgaben ausführen, während der Befehl noch ausgeführt wird. Um einen Befehl im Hintergrund auszuführen, gibt es mehrere Möglichkeiten. Eine der einfachen Methoden ist das Hinzufügen einer Et-Zeichen (&) am Ende der Befehlszeile.

Sobald ein Vorgang im Hintergrund ausgeführt wird, können wir mit dem auf ihn zugreifen Arbeitsplätze Befehl. Dieser Artikel bietet alle Möglichkeiten, einen Befehl im Hintergrund auszuführen.

Die Liste verschiedener Möglichkeiten, einen Hintergrundprozess auszuführen, lautet wie folgt:

    • Hinzufügen von Verstärkern und Zeichen (&)
    • Verwenden des BG -Befehls
    • Verwenden des Befehls nohup
    • Verwenden Sie den Befehl disuner
    • Verwendung des TMUX -Dienstprogramms

Im Folgenden finden Sie das Detail aller Methoden zum Ausführen eines Hintergrundprozesses:

1: Verwenden des Ampersand (&) Zeichens

In Linux Ampersand (&) befindet sich ein Shell -Operator, der einen Befehl im Hintergrund als separater Prozess sendet. Durch die Kombination von Ampersand (&) mit einem Befehl wird er als Hintergrundvorgang ausgeführt, so.

Syntax für einen Hintergrundprozess mit Ampersand -Zeichen:

$ [Befehl] &


Das Ampersand -Symbol wird immer am Ende des Befehls mit einem einzelnen Raum dazwischen hinzugefügt "&" und der letzte Charakter des Befehls.

Erstellen Sie beispielsweise einen Schlafprozess für 40 Sekunden lang.

$ Sleep 40


Wie wir sehen können, führt das Terminal den Sleep -Befehl aus und erlaubt uns nicht, andere Aufgaben auszuführen.


Jetzt drücken "Strg + z" um diesen Prozess zu stoppen. Als nächstes werden wir diesmal den gleichen Schlafbefehl ausführen.

$ Sleep 40 &



Jetzt ist dieser Prozess im Hintergrund. Um den Hintergrundausgangsvorgang zu verwenden: Verwendung:

$ Jobs -l



Töten Sie nun diesen Hintergrundprozess mit:

$ Kill -9 [Job -ID]


Zum Beispiel, um den aktuellen Running Sleep Process -Verfahren zu töten:

$ Kill -9 6149


Jetzt wird der Schlafprozess getötet, um die Liste des Hintergrundausgangsprozesses zu bestätigen.

$ Jobs -l



Hier ist ein weiteres Beispiel für die Verwendung & Et-Zeichen Das Zeichen ist mit Gedit -Befehl.

Wenn wir beispielsweise den Gedit -Texteditor mithilfe des Terminals direkt öffnen, werden wir die Shell für andere Arbeiten verwenden, sonst müssen wir zuerst den aktuellen Prozess stoppen.

$ gedit


Öffnen Sie den obigen Befehl den Texteditor, der ihn vor dem Terminal öffnet.


Nach dem Verwenden von „&“ am Ende des Gedit -Befehls kann die Shell jedoch für andere Prozesse verwendet werden:

$ gedit &


2: Verwenden Sie den Befehl "BG"

Der BG -Befehl ist die zweite Möglichkeit, Befehle im Hintergrund auszuführen. Mit diesem Befehl kann der Benutzer weiter im Terminal arbeiten, während der Prozess im Hintergrund ausgeführt wird, wodurch das Terminal für andere Aufgaben freigelassen wird. Der BG -Befehl wird für einen langlebigen Hintergrundvorgang verwendet, der sogar ausgeführt wird, wenn sich der Benutzer anmeldet.

Wie ein Verstärkungsschild müssen wir uns keine Sorgen machen, es jedes Mal zum Befehl hinzuzufügen. Es wird den Prozess im Hintergrund ausführen und das Terminal für die zukünftige Verwendung freigeben.

Verwenden wir beispielsweise das vorherige Beispiel und senden Sie den Befehl Schlaf mit:

$ Sleep 40



Jetzt läuft der Prozess und das Terminal ist nicht zur Verwendung verfügbar. Um den Befehl BG zu verwenden und diesen Vorgang im Hintergrund zu senden "Strg+ z" und Ausführen dieses Befehls:

$ bg


Nach dem Versenden des BG -Befehls wurde der Schlafprozess im Hintergrund fortgesetzt. Wir können am Ende einen Verstärker und „&“ sehen, was darauf hinweist, dass der aktuelle Prozess im Hintergrund läuft.


So überprüfen Sie den Befehl des Hintergrundprozesses

$ Jobs -l



Um den im Hintergrund verwendeten Befehl zu überprüfen:

$ fg



Um den aktuellen Prozess zu töten, verwenden Sie seine Job -ID mit Kill Command. Um die Job -ID zu überprüfen, rennen Sie:

$ Jobs -l



Nachdem Sie den Job -ID -Kill -Prozess kennengelernt haben, verwenden Sie:

$ Kill -9 [Job -ID]


Zum Beispiel, um den aktuellen laufenden Schlafprozess zu töten:

$ Kill -9 6584


Um zu bestätigen, ob der Prozess getötet wird oder nicht. Führen Sie das Job -Kommando aus:

$ Jobs -l


Wir können sehen, dass der Schlafprozess nicht mehr im Hintergrund läuft:

3: Verwenden Sie den Befehl nohup

Der Befehl nohup ist dritter in unserer Liste der laufenden Hintergrundprozesse unter Linux. Der Befehl steht für „Nein Auflegen“ und wird verwendet, um zu verhindern, dass der Prozess bis zum Ende der Terminalsitzung beendet wird. Wenn ein Prozess mit NoHUp ausgeführt wird, wird er weiterhin ausgeführt, auch wenn sich der Benutzer anmeldet, und die Ausgabe des Prozesses wird in eine Datei namens umgeleitet „Nohup.aus".

Der Befehl nohup, Google kontinuierlich im Hintergrund zu pingen, ist und die Ausgabe wird in eine Textdatei Google umgeleitet.txt:

$ Nohup Ping Google.Com> Google.txt &


Nach dem Schreiben dieses Befehls können wir sehen.


Um auf die Protokolldatei zuzugreifen, können wir den folgenden Befehl verwenden:

$ cat Google.txt



Die Protokolldatei kann auch mit der GUI auf dem Startbildschirm zugegriffen werden.

4: Verwenden Sie den Befehl disuner

Der Befehl disuner wird einen Vorgang aus den Shells entfernt und im Hintergrund ausgeführt. Wenn ein Prozess abgelehnt wird, ist er nicht mehr mit dem Terminal verbunden und läuft auch nach dem Anmeldung oder Schließung des Terminals weiter.

Früher haben wir den Befehl "&" ampersand "&" verwendet, der den Prozess nach seiner Ausführung im Hintergrund sendet, aber wenn wir die Shell schließen, wird der Prozess beendet. Dieser Ablehnungsbefehl zu entfernen ist da.

Der Befehl disuner kann nicht unabhängig funktionieren, aber mindestens einen Prozess muss im Hintergrund ausgeführt werden.

Führen Sie den folgenden Befehl mit a aus & Ampersand -Zeichen, das Ihren Befehl an den Hintergrund sendet.

$ ping Google.Com> Google.txt &


Nachdem die Datei erstellt wurde.


Jetzt läuft unser Prozess im Hintergrund, um ihn von der terminalen Verwendung zu lösen:

$ discond



Führen Sie den Jobbefehl erneut aus, um zu bestätigen, dass der Prozess vom Terminal abgelöst wird:

$ Jobs -l


Da unser Prozess derzeit ausgeführt wird, wird er jedoch nicht mehr innerhalb des Terminals angezeigt:


Um unseren Prozess zu bestätigen, können wir den CAT -Befehl verwenden, um auf diese Ping -Datei zuzugreifen:

$ cat Google.txt



Wir haben diesen Prozess erfolgreich vom Terminal abgelöst, aber er läuft immer noch im Hintergrund.

5: Verwenden des TMUX -Dienstprogramms

TMUX ist eine Art terminaler Multiplexer -Dienstprogramm. Mit TMUX können wir mehrere Terminalsitzungen innerhalb einer einzelnen Schale erstellen. Es bietet die Möglichkeit, Prozesse im Hintergrund auszuführen.

Um einen Hintergrundprozess in TMUX auszuführen, können Sie eine neue Sitzung erstellen und sich dann mithilfe der wichtigsten Kombination CTRL-B abnehmen, gefolgt von D D.

So installieren Sie das TMUX -Dienstprogramm unter Verwendung von Ubuntu und Linux Mint:

$ sudo APT Installieren Sie TMUX



So installieren Sie auf Fedora Run:

$ sudo dnf install tmux


So installieren Sie unter Arch Linux:

$ sudo pacman -s tmux


Führen Sie nun den Befehl TMUX aus, um ein neues Terminal zu öffnen:

$ tmux


So erstellen Sie eine neue TMUX -Sitzungsnutzung:

$ tmux new -s [Session_id]


Um alle TMUX -Sitzungen zu verwenden: Verwendung:

$ tmux ls


Zum Töten eines TMUX -Sitzungsbefehls verwenden Sie:

$ tmux Kill -Session -t [Session_ID]


Zum Beispiel töten "0" TMUX -Sitzungsnutzung:

$ tmux Kill -Session -t 0


Hier haben wir die aktuelle TMUX Active Session aufgelistet und sie mit dem obigen Befehl getötet:


    • Sich von der TMUX -Session -Presse lösen "Strg+B+D".
    • Um eine Liste aller Befehle zu erhalten, drücken Sie “Strg+B+?”.
    • Um zwischen TMUX -Windows zu verschieben, drücken Sie "Strg+B+O".

Um den TMUX -Terminal vertikal aufzuteilen, drücken Sie "Strg+B" und Typ %.


Wieder auf das Hauptterminal von zu kommen von tmux verwenden:

$ Exit

Abschluss

Ausführen von Hintergrundanwendungen in Linux ist eine leistungsstarke Funktion, mit der Benutzer ihre langlebigen Aufgaben auch nach dem Anmelden aus dem Terminal oder des Schließens des Fensters laufend halten können. Normalerweise an Et-Zeichen & Zeichen oder BG Der Befehl wird verwendet, um einen Prozess im Hintergrund zu senden. Wir können jedoch auch verwenden nohup oder verleugnen Befehl, einen Prozess vom Terminal abzuschließen. Endlich können wir das verwenden TMUX -Dienstprogramm Um mehrere Klemmen zu erstellen und Hintergrundprozesse auszuführen, ohne das Terminal zu stören.