Linux Befehle für Beginner
Inhaltsverzeichnis:
- Führen Sie im Hintergrund einen Linux-Befehl aus
- Einen Vordergrundprozess in den Hintergrund verschieben
- Lassen Sie die Hintergrundprozesse nach dem Beenden einer Shell weiterlaufen
- Alternativen
- Bildschirm
- Tmux
- Fazit
Wenn Sie einen Befehl im Terminal ausführen, müssen Sie in der Regel warten, bis der Befehl beendet ist, bevor Sie einen anderen eingeben können. Dies wird als Ausführen des Befehls im Vordergrund oder Vordergrundprozess bezeichnet. Wenn ein Prozess im Vordergrund ausgeführt wird, nimmt er Ihre Shell ein und Sie können mit den Eingabegeräten damit interagieren.
Was ist, wenn der Befehl lange dauert und Sie in der Zwischenzeit andere Befehle ausführen möchten? Sie haben mehrere Möglichkeiten zur Verfügung. Die naheliegendste und einfachste Möglichkeit besteht darin, eine neue Shell-Sitzung zu starten und den Befehl darin auszuführen. Eine andere Möglichkeit besteht darin, den Befehl im Hintergrund auszuführen.
Ein Hintergrundprozess ist ein Prozess / Befehl, der von einem Terminal aus gestartet und im Hintergrund ausgeführt wird, ohne dass der Benutzer eingreifen muss.
Wir werden über die Hintergrundprozesse unter Linux sprechen. Wir zeigen Ihnen, wie Sie einen Befehl im Hintergrund starten und den Prozess nach dem Schließen der Shell-Sitzung weiter ausführen.
Führen Sie im Hintergrund einen Linux-Befehl aus
Fügen Sie zum Ausführen eines Befehls im Hintergrund das kaufmännische Und-Zeichen (
&
) am Ende des Befehls hinzu:
command &
Die Shell-Job-ID (in Klammern) und die Prozess-ID werden auf dem Terminal gedruckt:
25177
Sie können mehrere Prozesse gleichzeitig im Hintergrund ausführen.
Der Hintergrundprozess schreibt weiterhin Nachrichten an das Terminal, von dem aus Sie den Befehl aufgerufen haben. Verwenden Sie die folgende Syntax, um die Nachrichten
stdout
und
stderr
zu unterdrücken:
command > /dev/null 2>&1 &
>/dev/null 2>&1
bedeutet,
stdout
nach
/dev/null
und
stderr
nach
stdout
umzuleiten.
Verwenden Sie das Dienstprogramm
jobs
, um den Status aller angehaltenen Jobs und Hintergrundjobs in der aktuellen Shell-Sitzung anzuzeigen:
jobs -l
Die Ausgabe enthält die Auftragsnummer, die Prozess-ID, den Auftragsstatus und den Befehl, mit dem der Auftrag gestartet wurde:
+ 25177 Running ping google.com &
Verwenden Sie den Befehl
fg
um einen Hintergrundprozess in den Vordergrund zu bringen:
fg
fg %1
Verwenden Sie den Befehl
kill
gefolgt von der Prozess-ID, um den Hintergrundprozess zu beenden:
Einen Vordergrundprozess in den Hintergrund verschieben
So verschieben Sie einen laufenden Vordergrundprozess in den Hintergrund:
- Beenden Sie den Prozess, indem Sie
Ctrl+Z
eingeben. Verschieben Sie den angehaltenen Prozess in den Hintergrund, indem Siebg
eingeben.
Lassen Sie die Hintergrundprozesse nach dem Beenden einer Shell weiterlaufen
Wenn Ihre Verbindung getrennt wird oder Sie sich von der Shell-Sitzung abmelden, werden die Hintergrundprozesse beendet. Es gibt verschiedene Möglichkeiten, um den Prozess nach dem Ende der interaktiven Shell-Sitzung am Laufen zu halten.
Eine Möglichkeit besteht darin, den Auftrag mit der integrierten Disown-Shell aus der Auftragssteuerung der Shell zu entfernen:
disown
disown %1
Stellen Sie mit dem Befehl
jobs -l
sicher, dass der Job aus der Tabelle der aktiven Jobs entfernt wurde. Verwenden Sie den Befehl
ps aux
um alle laufenden Prozesse, einschließlich der nicht genehmigten,
ps aux
.
Eine andere Möglichkeit, einen Prozess nach dem Shell-Exit am Laufen zu halten, ist die Verwendung von
nohup
.
Der Befehl
nohup
führt ein anderes als Argument angegebenes Programm aus und ignoriert alle
SIGHUP
Signale (Auflegen).
SIGHUP
ist ein Signal, das an einen Prozess gesendet wird, wenn sein Steuerterminal geschlossen ist.
nohup
, um einen Befehl mit dem Befehl
nohup
im Hintergrund auszuführen:
nohup command &
Die Befehlsausgabe wird in die Datei
nohup.out
umgeleitet.
nohup: ignoring input and appending output to 'nohup.out'
Alternativen
Es gibt eine Reihe von Programmen, mit denen Sie mehrere interaktive Sitzungen gleichzeitig durchführen können.
Bildschirm
Screen oder GNU Screen ist ein Terminal-Multiplexer-Programm, mit dem Sie eine Bildschirmsitzung starten und eine beliebige Anzahl von Fenstern (virtuelle Terminals) innerhalb dieser Sitzung öffnen können. In Screen ausgeführte Prozesse werden weiterhin ausgeführt, wenn ihr Fenster nicht sichtbar ist, auch wenn Sie die Verbindung trennen.
Tmux
Tmux ist eine moderne Alternative zum GNU-Bildschirm. Mit Tmux können Sie auch eine Sitzung erstellen und mehrere Fenster in dieser Sitzung öffnen. Tmux-Sitzungen sind persistent, was bedeutet, dass Programme, die in Tmux ausgeführt werden, auch dann weiter ausgeführt werden, wenn Sie das Terminal schließen.
Fazit
Um einen Befehl im Hintergrund auszuführen, schließen Sie
&
am Ende des Befehls ein.
Wenn Sie einen Befehl im Hintergrund ausführen, müssen Sie nicht warten, bis er beendet ist, bevor Sie einen weiteren ausführen können.
nohup fg bg jobs disown terminalDesktop-Hintergrund als Startbildschirm anzeigen Hintergrund in Windows 8.1
Erfahren Sie, wie Sie in Windows 8.1 Ihr Desktop-Hintergrundbild als Startbildschirmhintergrund anzeigen können
Formatieren Sie das Laufwerk aus oder führen Sie Check Disk mit CMD oder Eingabeaufforderung
USB oder externe Festplatte nicht verfügbar aus? Erfahren Sie, wie Sie USB oder externes Laufwerk formatieren, und starten Sie Disk Disk mit CMD oder Eingabeaufforderung in Windows 7 | 8.
Oceanis Change Hintergrund können Sie Windows 7 Starter Hintergrund ändern
Willst du Windows 7 Starter Edition Hintergrund / Hintergrund ändern? Versuchen Sie Freeware Oceanis Ändern Sie Hintergrund Windows 7.