Puncte:0

Keep terminal output file open and appended indefinitely

drapel cn

This thread here discussed how to write terminal output to a file.

Suppose I run a Kafka consumer command in a terminal, using >> out.txt to store the streamed data. Once the data stream is paused (not stopped) for some reason, the out.txt is closed and never opened again (unless I rerun the command).

Are there any ways to keep this file open and waiting and appending indefinitely unless it is stopped manually (like with Ctrl-C)?

To clarify: this question is not about Kafka. For any command that produces indefinitely continuous output to a terminal in a non-stop manner, but for some reason, that stream of output is paused for a moment, the out.txt is closed. That leads to the command stopping and it has to be rerun. Question: any way to keep the command waiting and appending to the same file out.txt?

Puncte:1
drapel cn

Chiar acum, dosarul out.txtdeja „așteaptă și anexează la infinit”. Data viitoare, oricând, adăugați ieșire la acesta, fișierul va fi acolo și vă va lua rezultatul.

Este simbolul de redirecționare >> care indică faptul că orice date trimise la fișier ar trebui să fie anexat. Dacă în schimb ați folosi >, atunci orice date pe care le trimiteți în fișier ar înlocui conținutul care ar fi putut fi în fișier.

Doar întreruperea unei comenzi de terminal poate determina sistemul de operare să „închidă” fișierul, în sensul că finalizează starea curentă a fișierului în sistemul de fișiere, dar asta nu nu închideți conexiunea comenzii întrerupte la fișier. Odată ce comanda este reluată, scrierea în fișier va fi continuată.

Dacă ieșiți din comandă sau este anulată (sau se blochează), atât conexiunea programului la fișier, cât și fișierul în sine vor fi închise. Când porniți din nou comanda, se va stabili conexiunea cu fișierul și din cauza >> simbol, intrare suplimentară va fi atașată la fișier.

Nu văd nevoia de a avea ceva care să „oprească” să primească intrări. De fapt, a încetat deja să accepte intrare de îndată ce nicio dată nu este (mai) trimisă. De îndată ce îi oferiți o nouă intrare, acesta va continua să accepte intrare. Oricând.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.