Zum Hauptinhalt springen

Ausführen eines Befehls im Hintergrund unter Linux: Alles, was Sie wissen müssen

Auf einem Linux-Betriebssystem können Sie einen Befehl im Hintergrund ausführen, sodass Sie mit dem System fortfahren können, ohne darauf zu warten, dass der ausgeführte Prozess beendet wird. Diese Methode funktioniert für die meisten Befehle und kann nützlich sein, wenn Sie eine Aufgabe ausführen möchten, die einige Zeit in Anspruch nimmt, aber kein Eingreifen des Benutzers erfordert.

Um einen Befehl im Hintergrund auszuführen, können Sie das kaufmännische und-Zeichen (&) am Ende des Befehls verwenden. Wenn Sie beispielsweise eine Datei im Hintergrund kopieren möchten, können Sie den Befehl verwenden cp file1 file2 &. Nachdem Sie diesen Befehl ausgeführt haben, erhalten Sie sofort ein umgekehrtes Befehlszeilenzeichen und können mit der Arbeit fortfahren.

Es ist wichtig zu beachten, dass, wenn Sie den Befehl im Hintergrund ausführen, die Ausgabe dieses Befehls im Terminal nicht angezeigt wird. Wenn Sie die Ausgabe des Befehls benötigen, müssen Sie sie in eine Datei umleiten oder eine Umgebungsvariable festlegen DISPLAY um eine grafische Benutzeroberfläche anzuzeigen.

Ausführen eines Befehls im Hintergrund unter Linux: methoden und Vorteile

Es gibt mehrere Möglichkeiten, Befehle im Hintergrund unter Linux auszuführen. Eine der häufigsten Methoden besteht darin, ein kaufmännisches Und-Zeichen (&) am Ende eines Befehls zu verwenden. Um beispielsweise den Befehl sleep 10 im Hintergrund auszuführen, können wir sleep 10 & schreiben. Dies ermöglicht es uns, sofort nach dem Start des Befehls mit dem Terminal weiterzuarbeiten.

Eine andere Möglichkeit besteht darin, den Befehl nohup zu verwenden. Zum Beispiel, um einen Befehl auszuführen ./script.sh im Hintergrund können wir nohup schreiben ./script.sh & . Der Befehl nohup ermöglicht es uns, den Befehl auch nach dem Schließen des Terminals auszuführen, und die Ausgabe des Befehls wird in eine nohup-Datei geschrieben.out im aktuellen Verzeichnis.

Das Ausführen eines Befehls im Hintergrund hat mehrere Vorteile. Einer der Hauptvorteile ist die Fähigkeit, lange Aufgaben und Prozesse auszuführen, ohne das Terminal offen lassen zu müssen. Wenn wir zum Beispiel eine Aufgabe haben, die einige Zeit in Anspruch nimmt, können wir sie im Hintergrund ausführen und mit dem Terminal fortfahren. Dies ermöglicht es uns, die Zeit effizient zu nutzen und keine Zwischenergebnisse auf dem Bildschirm zu erhalten.

Ein weiterer Vorteil des Ausführens von Befehlen im Hintergrund ist die Möglichkeit, mehrere Aufgaben gleichzeitig auszuführen. Wir können mehrere Befehle und Prozesse im Hintergrund ausführen und deren Ausführung überwachen.

Außerdem können wir durch das Ausführen von Befehlen im Hintergrund den Status einer Aufgabe überwachen und benachrichtigt werden, wenn die Aufgabe beendet ist. Wenn wir beispielsweise einen Befehl ausführen, der einige Zeit in Anspruch nimmt, können wir den Befehl jobs verwenden, um den Status der Aufgabe zu verfolgen, und den Befehl fg, um die Aufgabe bei Bedarf wieder in den Vordergrund zu bringen.

Das Ausführen von Befehlen im Hintergrund unter Linux ist ein leistungsfähiges Werkzeug, mit dem wir Systemressourcen effizient nutzen und Prozesse verwalten können. Dies ist praktisch, um Aufgaben im Hintergrund auszuführen, ohne das Terminal zu blockieren, und ermöglicht es uns, weiterhin mit anderen Befehlen und Anwendungen zu arbeiten.

Befehle im Hintergrund: grundlegende Konzepte und Anwendungsbeispiele

Wenn Sie Befehle in einem Linux-Terminal ausführen, werden sie normalerweise im synchronen Modus ausgeführt, dh Sie müssen warten, bis ein Befehl abgeschlossen ist, bevor Sie mit dem nächsten fortfahren. Unter Linux besteht jedoch die Möglichkeit, einen Befehl im Hintergrund auszuführen, sodass er parallel zu anderen Aufgaben ausgeführt wird. Dies kann nützlich sein, wenn Sie einen langwierigen Befehl ausführen müssen, der lange dauert und Sie weiterhin im Terminal arbeiten möchten, ohne zu warten.

Verwenden Sie das kaufmännische und-Zeichen (&) am Ende des Befehls, um den Befehl im Hintergrund auszuführen. Zum Beispiel:

Das TeamDie Beschreibung
sleep 10 &Hält die Ausführung des Terminals für 10 Sekunden an, sodass Sie weiterhin mit anderen Befehlen arbeiten können
ls -lR / &Listet alle Dateien und Verzeichnisse im System auf

Wenn der Befehl im Hintergrund ausgeführt wird, wird die Ausgabe des Befehls im Terminal nicht angezeigt. Stattdessen sehen Sie Informationen über die PID (Prozess-ID) und die Auftragsnummer, mit der Sie die Ausführung des Befehls steuern können.

Um herauszufinden, welche Befehle im Hintergrund ausgeführt werden, können Sie den Befehl jobs verwenden. Es wird eine Liste der aktiven Hintergrundaufträge und Aufgabennummern angezeigt. Sie können diese Nummern verwenden, um Aufgaben zu verwalten, indem Sie sie beispielsweise an fg- oder bg-Befehle übergeben.

Wenn Sie einen Hintergrundbefehl zurück in den Vordergrund bringen und dessen Ausführung überwachen möchten, können Sie den Befehl fg (foreground) verwenden. Zum Beispiel gibt fg %1 den Hintergrundbefehl mit der Nummer 1 in den Vordergrund zurück.

Wenn Sie einen Hintergrundbefehl zurück in den Hintergrund senden möchten, können Sie den Befehl bg (background) verwenden. Zum Beispiel sendet bg %1 einen Hintergrundbefehl mit der Nummer 1 in den Hintergrundmodus.

Sie können den Hintergrundbefehl auch mit dem Befehl Strg+Z beenden. Dadurch wird die Ausführung des Befehls gestoppt und der Befehl wird an das Terminal zurückgegeben. Sie können den Befehl im Hintergrund mit dem Befehl bg fortsetzen.

Die Verwendung von Befehlen im Hintergrund kann sehr nützlich sein, besonders wenn Sie lange Aufgaben parallel zu Ihrer Hauptarbeit im Terminal ausführen müssen.

Nützliche Hinweise zum Ausführen von Befehlen im Hintergrund unter Linux

Hier finden Sie einige nützliche Tipps zum Ausführen von Befehlen im Hintergrund:

1. Kaufmännisches kaufmännisches Feld verwenden

Sie können ein kaufmännisches und-Zeichen (&) am Ende des Befehls hinzufügen, um einen Befehl im Hintergrund auszuführen. Zum Beispiel:

2. Verwenden des Befehls nohup

Mit dem Befehl nohup können Sie den Befehl im Hintergrund ausführen und die Signale zum Herunterfahren des Terminals ignorieren. Dies ist nützlich, wenn Sie möchten, dass der Befehl auch nach dem Schließen des Terminals weiterhin ausgeführt wird. Zum Beispiel:

3. Verwenden von Steuerzeichen

Steuerzeichen wie ^Z, ^C und ^D können verwendet werden, um Befehle im Hintergrund zu steuern. Zum Beispiel:

^Z - Befehl beenden
bg - Den Befehl im Hintergrund fortsetzen
jobs - Listen Sie Aufgaben auf, die im Hintergrund ausgeführt werden

4. Ausgabe und Fehler umleiten

Wenn Sie einen Befehl im Hintergrund ausführen, können Ausgabe und Fehler in Dateien umgeleitet werden, um die Ausführungsergebnisse zu speichern. Zum Beispiel:

ping google.com > output.txt 2>&1 &

In diesem Beispiel wird die Ausgabe des Ping-Befehls an die Ausgabedatei weitergeleitet.txt und die Fehler werden an dieselbe Datei weitergeleitet.

5. Verwenden des Screen-Programms

Mit dem Screen-Programm können Sie virtuelle Terminalsitzungen erstellen und verwalten. Dies ist besonders nützlich, wenn Sie im Hintergrund mit langwierigen und intensiven Aufgaben arbeiten. Zum Beispiel:

screen
./script.sh
Strg+a, d - von der Sitzung trennen
screen -r - Verbindung zu einer bestehenden Sitzung herstellen

Diese Richtlinien helfen Ihnen, die Funktionen zum Ausführen von Befehlen im Hintergrund unter Linux effektiv zu nutzen und die Ausführung von Aufgaben zu vereinfachen.