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 im Allgemeinen für spezielle Anwendungsfälle reserviert sind. Nohup ist einer dieser Befehle. Sie werden es nicht jeden Tag tragen, aber Sie werden dankbar sein, dass es um Sie herum ist, wenn Sie es brauchen.

Index

    Was ist Nohup?

    Was ist Nohup und wie wird es verwendet?

    Nohup ist die Abkürzung für "No Hangups". Es ist keine sich selbst erfüllende Ordnung. Nohup ist ein zusätzlicher Befehl, der das Linux-System anweist, einen anderen Befehl nach dem Start nicht abzubrechen. Dies bedeutet, dass es so lange funktioniert, bis Sie es tun, auch wenn sich der Benutzer, der es gestartet hat, abmeldet. Die Nohup-Syntax ist einfach und sieht folgendermaßen aus:

    nohup sh your-script.sh &

    Schauen Sie sich das "&" am Ende des Befehls an. Dadurch wird der Befehl in den Hintergrund verschoben und das Terminal, an dem Sie arbeiten, freigegeben.

    Nohup funktioniert mit fast jedem Befehl, der im Terminal ausgeführt wird. Es kann mit benutzerdefinierten Skripten sowie mit Standardsystembefehlen und Befehlszeilenprogrammen ausgeführt werden.

    Nohup.out

    Da nohup unabhängig davon, wer es gestartet hat, weiterhin ausgeführt werden kann, benötigt der Befehl einen Speicherort, um Nachrichten oder Fehler zu erzeugen. Da es kein Terminal gibt, das damit verknüpft werden kann, zeichnet nohup alles in einer Ausgabedatei auf, nohup.out.

    Standardmäßig befindet sich diese Datei in einem beliebigen Verzeichnis, in dem Sie den Befehl gestartet haben. Nohup.out ist etwas einzigartig, da es sowohl die Standardausgabe als auch die Fehlerausgabe zusammen enthält. Nohup beide leiten standardmäßig zur gleichen Datei um.

    Was ist Nohup und wie wird es verwendet?

    Es ist jedoch nicht erforderlich, nohup.out zu verwenden. Dies ist nur die Standardeinstellung. Sie können beim Ausführen von nohup eine benutzerdefinierte Ausgabe angeben und an einem benutzerdefinierten Speicherort ablegen.

    nohup sh your-script.sh> /path/to/custom.out &

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

    Unterschiede zu Dämonen

    Inzwischen 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. Die Dämonen laufen ununterbrochen im Hintergrund. Am besten reservieren Sie sie für Prozesse, die Sie niemals verlassen möchten, z. B. Server. Sie erfordern auch mehr Programmierarbeit, sodass sie nicht für einzelne direkte Skripte geeignet sind.

    Nohup ist nur zum einmaligen Gebrauch bestimmt. Stellen Sie sich ein Skript vor, dessen Ausführung lange dauern wird, das jedoch irgendwann abläuft. Vielleicht gibt es eine lange und komplizierte Aufgabe, die von Zeit zu Zeit ausgeführt wird und deren Ausführung Stunden in Anspruch nimmt. Sie möchten kein Terminal offen lassen oder einen Benutzer angemeldet lassen, also verwenden Sie nohup, um es im Hintergrund laufen zu lassen. Als zusätzlichen 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 befindet sich zwischen einem normalen kurzen Skript und einem kontinuierlich laufenden Daemon. Es hilft Ihnen, spontaner mit längeren Skripten umzugehen, als Sie möglicherweise Zeit damit verschwenden, regelmäßig zu babysitten.

    Schreibe einen Kommentar

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

    Go up

    Diese Website verwendet Cookies, um Ihnen ein besseres Erlebnis beim Surfen auf der Website zu bieten. Lesen Sie mehr über Cookies