Questo è il comando unbuffer che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici postazioni di lavoro online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
unbuffer - output unbuffer
SINOSSI
unbuffer Programma [ args ]
INTRODUZIONE
unbuffer disabilita il buffering dell'output che si verifica quando l'output del programma viene reindirizzato da
programmi non interattivi. Ad esempio, supponiamo di guardare l'output di una fifo di
eseguendolo attraverso od e poi altro ancora.
od -c /tmp/fifo | Di più
Non vedrai nulla fino a quando non sarà stata prodotta una pagina intera di output.
Puoi disabilitare questo buffering automatico come segue:
unbuffer od -c /tmp/fifo | Di più
Normalmente, unbuffer non legge da stdin. Ciò semplifica l'uso dell'unbuffer in alcuni
situazioni. Per usare unbuffer in una pipeline, usa il flag -p. Esempio:
processo1 | unbuffer -p processo2 | processo3
AVVERTENZE
unbuffer -p potrebbe non funzionare correttamente se un processo che fornisce input a unbuffer esce.
Prendere in considerazione:
processo1 | unbuffer -p processo2 | processo3
Se process1 esce, process2 potrebbe non essere ancora terminato. È impossibile per unbuffer
sapere a lungo aspettare process2 e process2 potrebbero non finire mai, ad esempio, se è a
filtro. Per convenienza, unbuffer esce semplicemente quando incontra un EOF da entrambi i suoi
input o processo2.
Per avere una versione di unbuffer che funzionasse in tutte le situazioni, un oracolo sarebbe
necessario. Se desideri una soluzione specifica per l'applicazione, soluzioni alternative o Expect . codificato a mano
potrebbe essere più adatto. Ad esempio, l'esempio seguente mostra come consentire a grep di
finire l'elaborazione quando il gatto prima che finisca per primo. Usare il gatto per nutrire grep sarebbe
non richiedono mai unbuffer nella vita reale. È solo un segnaposto per qualche immaginario
processo che può o non può finire. Allo stesso modo, il gatto finale alla fine del gasdotto
è anche un segnaposto per un altro processo.
$ cat /tmp/abcdef.log | grep abc | gatto
abcdef
xxxabc defxxx
$ cat /tmp/abcdef.log | unbuffer grep abc | gatto
$ (cat /tmp/abcdef.log ; sleep 1) | unbuffer grep abc | gatto
abcdef
xxxabc defxxx
$
Utilizzare unbuffer online utilizzando i servizi onworks.net