Was ist Nohup und wie wird es angewendet?

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 benutzen, aber Sie werden dankbar sein, dass es in Ihrer Nähe ist, wenn Sie es brauchen.

Index

    Was ist Nohup?

    Was ist Nohup und wie wird es angewendet?

    Nohup ist die Abkürzung für „No Hangups“. Es handelt sich nicht um einen sich selbst ausführenden Auftrag. Nohup ist ein ergänzender Befehl, der das Linux-System anweist, einen anderen Befehl nach dem Start nicht zu unterbrechen. Dies bedeutet, dass es so lange funktioniert, bis Sie es tun, auch wenn sich der Benutzer, der es gestartet hat, abmeldet. Die Syntax von nohup ist einfach und sieht so aus:

    nohup sh your-script.sh &

    Sehen 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 Befehlszeilendienstprogrammen ausgeführt werden.

    Nohup.out

    Da nohup unabhängig vom Benutzer, der es gestartet hat, weiterhin ausgeführt werden kann, benötigt der Befehl einen Ort, um Meldungen oder Fehler zu erzeugen. Da kein Terminal zum Binden vorhanden ist, protokolliert nohup alles in einer Ausgabedatei, 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 leitet standardmäßig beide auf dieselbe Datei um.

    Was ist Nohup und wie wird es angewendet?

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

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

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

    Unterschiede zu Dämonen

    Inzwischen fragen Sie sich wahrscheinlich, was nohup von einem dämonisierten Prozess unterscheidet. Schließlich scheinen beide den gleichen Zweck zu erfüllen, aber das tun sie wirklich nicht. Die Daemons laufen kontinuierlich im Hintergrund. Reservieren Sie sie am besten für Prozesse, die Sie nie verlassen möchten, z. B. Server. Sie erfordern auch mehr Programmierarbeit, daher sind sie nicht die besten für einzelne, direkte Skripte.

    Nohup ist nur zum einmaligen Gebrauch bestimmt. Stellen Sie sich ein Skript vor, dessen Ausführung lange dauert, aber irgendwann beendet wird. Vielleicht gibt es von Zeit zu Zeit eine lange und komplizierte Aufgabe, die Stunden in Anspruch nimmt. Sie möchten kein Terminal geöffnet lassen oder einen Benutzer angemeldet haben, also verwenden Sie nohup, um es im Hintergrund laufen zu lassen. Als zusätzlichen Bonus zeichnet es automatisch alles für Sie auf.

    Sie sehen, dass nohup kein alltägliches Werkzeug ist, aber es kann für die richtige Aufgabe sehr nützlich sein. Es sitzt zwischen einem normalen kurzen Skript und einem kontinuierlich laufenden Daemon. Es hilft Ihnen, bei längeren Skripten mehr Hand anzulegen, als Sie möglicherweise Zeit mit regelmäßigem Babysitten verschwenden.

    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