Um diesen Artikel zu verstehen, sind die folgenden Tabellen hilfreich: nohup ist ein Kommando zum Ausführen eines Programms, das dann das HUP-Signal ausblendet.
Um diesen Artikel zu verstehen, sind die folgenden Tabellen hilfreich: nohup ist ein Kommando zum Ausführen eines Programms, das dann das HUP-Signal ausblendet. Auf diese Weise können Sie ein bestimmtes Anwendungsprogramm auch nach einer Abmeldung vom Rechner wiederaufnehmen. Normalerweise verwenden Sie nohup, um Services im Hintergund zu aktivieren und von der Login-Shell zu separieren.
Die Ausgabe aus dem gerufenen Progamm wird direkt in die nohup. out-Datei umgeleitet, die in dem Ordner erstellt wird, aus dem der Aufruf erfolgt ist. Damit es nicht weiter läuft, weil es auf die Eingabe gewartet hat, ist es gelegentlich auch nötig, die Standardeingabe mit >/dev/null. von Ubuntu umzuleiten und ist daher auf jedem Rechner vormontiert. und schließt das Gerät wieder ab, so dass es geöffnet ist.
Das war ein simples Beispiel, aber es macht den tatsächlichen Vorteil deutlich, wenn Sie z.B. über SSH auf einem ausländischen Computer arbeiten und dort einen längeren Vorgang beginnen wollen, aber die ssh-Verbindung während des Vorgangs nicht dauerhaft aktiviert sein soll, weil Sie Ihren eigenen Computer abschalten wollen. erzeugt die Datei abc erst nach 10s.
Eine weitere, leistungsfähigere Möglichkeit, Vorgänge zu beginnen, die im Hintergund fortgesetzt werden sollen, ist die Dynpros.
nohup ist ein POSIX-Befehl, um das Unisignal "HUP" (hangup) zu überspringen. Über dieses Zeichen informiert ein Endgerät die abhängigen Vorgänge über eine Abmeldung. Normalerweise würden die abhängigen Vorgänge des Endgerätes durch den Signalempfang beendet. Mit nohup wird die Ausgaben des Vorgangs, der zum Endgerät gehen soll, in eine nohup. out-Datei gespeichert, es sei denn, sie wurden bereits an eine andere Stelle weitergeleitet. nohup ist ein einfaches Tool, das einen Befehl zum Vernachlässigen eines bestimmten Signals einrichtet.
Im folgenden Beispiel wird das Progamm foo im Hintergund aufgerufen, damit es beim anschließenden Abmelden nicht abbricht: nohup wird oft zusammen mit dem nice-Kommando zur Beeinflussung der Prozesspriorität benutzt. Einige Shells (z.B. bash) haben vordefinierte Wege, das Versenden oder Weiterleiten des SIGHUP-Signals an existierende Aufträge zu unterbinden, auch wenn diese nicht mit nohup begonnen wurden.
Die Anwendung von nohup auf einen Auftrag im Hintergund wird normalerweise verwendet, um zu verhindern, dass dieser beim Beenden einer SSH-Sitzung bricht. Eine weitere Schwierigkeit tritt auf, wenn SSH diese Abmeldung nicht erlaubt ("hang"), da keine Informationen von oder für die Hintergrundaufträge fehlen sollten[5][6] Dieses Phänomen kann durch Umleiten der I/O-Streams behoben werden:
Zum Beispiel wird der folgende Call script.sh ohne SIGHUP und im Hintergund ausgeführt: Der Befehl disown wird benutzt, um Aufträge aus der Job-Tabelle zu löschen oder zu kennzeichnen, nicht um das SIGHUP-Signal zu erhalten. High Jump ? Re: nohup/disown und logout. Sie wurde am Donnerstag, den 11. Juli 2009 aufgerufen. ? SSH Frequently Asked Questions.
Retrieved June October 2010. ? OpenSSH FAQ. Retrieved June October 2010. ? Fehler 396 - sshd Waisenkinder Prozesse, wenn kein pty zugewiesen. Zurückgeholt am 11. Juli 2009.