Was sind praktische Anwendungen von stdbuf oder nohup?

7

Ich muss im Moment ein paar Coreutils-Befehle für einen Kurs fertig schreiben, und ich kann mir keinen Ausgangspunkt für ein kleines praktisches Codebeispiel vorstellen, das die möglichen Verwendungen von demonstriert stdbuf. Hat jemand damit die Interaktion einiger spezifischer Unix-Befehle korrigiert? Ich weiß was es tut. Es ist nur so, dass die ersten Befehle, die mir in den Sinn kamen, ihre eigenen Pufferungssteuerelemente haben und die normale Terminalausgabe sowieso zeilengepuffert ist. Es muss beliebt sein, um Protokolle anzuhängen, aber ich kann dort keinen guten Befehl finden, um es zu demonstrieren.

Gibt es im Fall von nohupBefehle, die üblicherweise damit ausgeführt werden, um eine Unterbrechung zu verhindern?

Wie bereits erwähnt, arbeite ich gerade an einer Kursaufgabe. Dies verstößt jedoch nicht gegen eine seiner Regeln. Ich versuche nur, einen guten Ausgangspunkt für diese Beispiele zu finden. Ich habe keine für stdbufund ich mag die rudimentäre nicht, für die ich verwendet habe nohup.

kav
quelle
Für stdbuf: Die normale Terminalausgabe ist ohnehin zeilengepuffert - sehr wahr, was es wirklich ärgerlich macht, wenn Sie eine zeilengepufferte Ausgabe für eine Pipeline von 3 oder mehr verbundenen Prozessen wünschen . Gefällt mir<infile grep1 | sort | grep3 oder <infile nl -bp... | sort -nk1,1 weil nles keine Zeilenpufferoptionen gibt .
Mikeserv
Diese beiden Dienstprogramme haben nichts miteinander zu tun, daher sollten Sie diese beiden Fragen getrennt stellen. Warum gefällt dir die Präsentation auf Wikipedia nicht?
Gilles 'SO - hör auf böse zu sein'

Antworten:

5

Beispiele für stdbuf unter http://www.pixelbeat.org/programming/stdio_buffering/

nohup wird für alle Befehle verwendet, die lange ausgeführt werden sollen. Sie können dies auch mit screen (1) oder rückwirkend mit screen + https://github.com/nelhage/reptyr tun

Pádraig Brady
quelle
Ja, ich habe diese Seite über Standard-Pufferung gelesen. Vor der anderen Antwort war es nur schwer, sich ein einfaches Beispiel vorzustellen. Mir war nicht bewusst, dass nohup über Anmeldungen hinweg bestehen bleibt, und ich konnte mir nicht viele lang laufende Prozesse außerhalb von Daemons vorstellen, die normalerweise von Startskripten gestartet werden.
Kav