Linux in 5 Minuten: Shell Befehle finden mit apropos
Inhaltsverzeichnis:
- So verwenden Sie den Befehl nohup
- Ausführen des Befehls im Hintergrund
- Ausgabe in eine Datei umleiten
- Alternativen
- Bildschirm
- Tmux
- Verleugnen
- Fazit
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.
Wenn Sie ein Programm über SSH ausführen, die Verbindung unterbrochen wird oder wenn Sie sich abmelden, wird die Sitzung normalerweise beendet und alle vom Terminal ausgeführten Prozesse werden angehalten. Hier bietet sich der Befehl
nohup
. Alle Aufhängesignale werden ignoriert und der Vorgang wird fortgesetzt.
So verwenden Sie den Befehl nohup
Die Syntax für den Befehl
nohup
lautet wie folgt:
nohup COMMAND
Der Befehl akzeptiert keine anderen Optionen als die Standardoptionen
--help
und
--version
.
Schauen wir uns das folgende Beispiel an:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
führt den Befehl
mycommand
im Vordergrund aus und leitet die Befehlsausgabe in die Datei
nohup.out
um. Diese Datei wird im aktuellen Arbeitsverzeichnis erstellt. Wenn der Benutzer, der den Befehl ausführt, keine Schreibberechtigung für das Arbeitsverzeichnis hat, wird die Datei im Basisverzeichnis des Benutzers erstellt.
Wenn Sie sich abmelden oder das Terminal schließen, wird der Vorgang nicht abgebrochen.
Ausführen des Befehls im Hintergrund
Die Verwendung von
nohup
im Vordergrund ist nicht sehr nützlich, da Sie erst nach Abschluss des Befehls mit der Shell interagieren können.
Um den Befehl im Hintergrund auszuführen, fügen Sie das Symbol
&
am Ende des Befehls hinzu:
nohup mycommand &
Die Ausgabe enthält die Shell-Job-ID (in Klammern) und die Prozess-ID:
25177
Mit der Job-ID können Sie den Befehl mit dem Befehl
fg
in den Vordergrund bringen.
Wenn Sie den Prozess aus irgendeinem Grund beenden möchten, verwenden Sie den Befehl
kill
gefolgt von der Prozess-ID:
Ausgabe in eine Datei umleiten
Standardmäßig leitet
nohup
die Befehlsausgabe in die Datei
nohup.out
um. Wenn Sie die Ausgabe in eine andere Datei umleiten möchten, verwenden Sie die Standard-Shell-Umleitung.
Um beispielsweise die Standardausgabe und den Standardfehler an
mycommand.out
, würden Sie
mycommand.out
verwenden:
nohup mycommand > mycommand.out 2>&1 &
So leiten Sie die Standardausgabe und den Standardfehler in verschiedene Dateien um:
nohup mycommand > mycommand.out 2> mycommand.err &
Alternativen
Es gibt verschiedene alternative Programme, mit denen Sie verhindern können, dass ein Befehl beendet wird, wenn Sie das Terminal schließen oder die Verbindung trennen.
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.
Verleugnen
disown
ist eine eingebaute Shell, die einen Shell-Job aus der Job-Kontrolle der Shell entfernt. Im Gegensatz zu
nohup
können Sie
disown
für laufende Prozesse verwenden.
Fazit
nohup
können Sie verhindern, dass Befehle beendet werden, wenn Sie sich abmelden oder das Terminal verlassen.
Chmod Befehl in Linux (Dateiberechtigungen)
Unter Linux wird der Zugriff auf die Dateien über die Dateiberechtigungen, -attribute und -eigentümer verwaltet. In diesem Lernprogramm wird erläutert, wie Sie mit dem Befehl chmod die Zugriffsberechtigungen für Dateien und Verzeichnisse ändern.
Befehl Chgrp unter Linux (Gruppe wechseln)
In Linux ist jede Datei einem Eigentümer und einer Gruppe zugeordnet und verfügt über Berechtigungen, die festlegen, welche Benutzer die Datei lesen, schreiben oder ausführen dürfen. Der Befehl chgrpc ändert die Gruppeneigentümerschaft für bestimmte Dateien.
Cp Befehl in Linux (Dateien kopieren)
cp ist ein Befehlszeilenprogramm zum Kopieren von Dateien und Verzeichnissen auf Unix- und Linux-Systemen.







