Kategorien
iOS

Was ist Nohup und wie wird es verwendet?

Auf Linux-Systemen sind viele Befehle verfügbar. Es gibt einige, die Sie mehrmals am Tag verwenden, und andere, die normalerweise für bestimmte Anwendungsfälle reserviert sind. Nohup ist einer dieser Befehle. Sie werden es nicht jeden Tag benutzen, aber Sie werden dankbar sein, dass es um Sie herum ist, wenn Sie es brauchen.

Was ist Nohup?

Was ist Nohup und wie wird es verwendet?  - 1

Nohup ist die Abkürzung für “No Hangups”. Es ist kein selbst ausführender Befehl. Nohup ist ein zusätzlicher Befehl, der das Linux-System anweist, einen anderen Befehl nach dem Start nicht zu stoppen. Dies bedeutet, dass es so lange ausgeführt wird, bis Sie dies tun, auch wenn sich der Benutzer, der es gestartet hat, abmeldet. Die Syntax von nohup ist einfach und sieht folgendermaßen aus:

 nohup sh votre-script.sh &

Beachten Sie das “&” am Ende des Befehls. Dadurch wird der Befehl in den Hintergrund verschoben und das Terminal, in dem Sie arbeiten, freigegeben.

Nohup funktioniert mit fast allen Befehlen, die im Terminal ausgeführt werden. Es kann mit benutzerdefinierten Skripten sowie Standard-Systembefehlen und Befehlszeilenprogrammen ausgeführt werden.

Nohup.out

Da nohup unabhängig davon, welcher Benutzer es gestartet hat, weiterhin ausgeführt werden kann, benötigt der Befehl einen Ort, an dem Nachrichten oder Fehler erzeugt werden. Da es kein Terminal gibt, das damit verknüpft werden kann, speichert nohup alles in einer Ausgabedatei, nohup.out.

Standardmäßig befindet sich diese Datei in dem Verzeichnis, in dem Sie den Befehl ausgegeben haben. Nohup.out ist insofern einzigartig, als es sowohl Standardausgabe als auch Fehlerausgabe enthält. Nohup leitet beide standardmäßig in dieselbe Datei um.

Was ist Nohup und wie wird es verwendet?  - 2

Sie müssen jedoch nohup.out nicht verwenden. Es ist nur die Standardeinstellung. Sie können eine benutzerdefinierte Ausgabe angeben, wenn Sie nohup ausführen, und diese an einem benutzerdefinierten Speicherort platzieren.

 nohup sh votre-script.sh> /chemin/to/custom.out &

Die benutzerdefinierte Ausgabe enthält genau die gleichen Daten wie die Standarddatei nohup.out.

Unterschiede zu Dämonen

An diesem Punkt fragen Sie sich wahrscheinlich, was nohup von einem dämonisierten Prozess unterscheidet. Immerhin scheinen beide den gleichen Zweck zu erfüllen, aber sie tun es wirklich nicht. Dämonen laufen immer im Hintergrund. Am besten reservieren Sie sie für Prozesse, die Sie niemals verlassen möchten, z. B. Server. Sie erfordern auch mehr Programmierarbeit, daher sind sie nicht die besten für einfache, unkomplizierte Skripte.

Nohup ist zum einmaligen Gebrauch bestimmt. Stellen Sie sich ein Skript vor, dessen Ausführung lange dauern wird, das jedoch irgendwann beendet wird. Möglicherweise gibt es eine lange und komplizierte Aufgabe, die von Zeit zu Zeit ausgeführt wird und Stunden dauert. Sie möchten kein Terminal offen lassen oder einen Benutzer angemeldet lassen, also verwenden Sie nohup, um es im Hintergrund laufen zu lassen. Als Bonus wird automatisch alles für Sie aufgezeichnet.

Sie können sehen, dass nohup kein alltägliches Werkzeug ist, aber es kann für die richtige Aufgabe sehr nützlich sein. Es liegt irgendwo zwischen einem normalen kurzen Skript und einem kontinuierlich laufenden Daemon. Auf diese Weise können Sie Skripte, die länger sind, als Sie Zeit für regelmäßiges Babysitten hätten verschwenden können, praktischer angehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.