In Linux: scrivere in un FIFO
Domanda
Ho creato un nuovo FIFO usando il comando mkfifo
. Ho un file di testo f.txt
.
Voglio scrivere il file di testo nel mio FIFO. Come? Esiste un comando unix per questo?
Soluzione
Puoi usare cat
:
mkfifo /tmp/foo
cat f.txt > /tmp/foo
Vedrai che si blocca, perché hai anche bisogno di un processo di lettura, come cat
.
cat /tmp/foo
Puoi anche iniziare prima il processo di lettura e poi quello di scrittura.
Altri suggerimenti
Basta reindirizzare nella pipe:
mkfifo /tmp/pipe
cat f.txt > /tmp/pipe &
cat /tmp/pipe
Nota, questo è approssimativamente ciò che cat f.txt | cat
, ma questa è una pipe denominata anziché una pipe anonima.
Come qualsiasi altro file che penso:
cat f.txt > myfifo
Molte cose possono essere trattate come file in Linux / Unix
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow