Ho uno script che scrive su una named pipe e un'altra che legge dalla pipe. Occasionalmente, all'avvio dello script ho notato che il contenuto della pipe esiste da una precedente esecuzione dello script. C'è un modo per svuotare la pipa all'inizio della sceneggiatura?Come svuotare una pipe usando la bash
7
A
risposta
5
Credo dd
è tuo amico:
dd if=myfifo iflag=nonblock of=/dev/null
strace mostra
open("myfifo", O_RDONLY|O_NONBLOCK)
e in effetti non ha nemmeno bloccare su un fifo vuota.
1
È possibile leggere dal tubo finché non è vuoto. Questo lo svuoterà efficacemente.
Prima di provare questa impresa audace, chiamare fcntl(mypipe, F_SETFL, O_NONBLOCK)
(non conosco l'equivalente dello script di shell) per eseguire una lettura quando la pipe è vuota e non appendere il programma.
1
Prova questo:
"Apertura del FD di lettura/scrittura, piuttosto che di sola lettura quando si imposta la pipeline impedisce il blocco."
da:
Setting up pipelines reading from named pipes without blocking in bash
Problemi correlati
- 1. bash pipe & SIGTERM
- 2. BASH: come eseguire aritmetica sui numeri in una pipe
- 3. Come svuotare la console in Objective-C
- 4. Lasciate trappola Bash DEBUG vedere pipe come un comando
- 5. Come inserire la password ssh usando bash?
- 6. Verificare se stderr è una pipe in bash
- 7. php stdin da pipe bash e heredoc
- 8. Come concatenare lo stdin in una pipe?
- 9. Python - Come chiamare i comandi di bash con pipe?
- 10. Come svuotare/distruggere una sessione nei binari?
- 11. Come svuotare la cache dei pignoni?
- 12. Come svuotare la cache degli attributi nfs?
- 13. Come svuotare la cache di un iFrame?
- 14. Sono unix pipe (|) e pipe che creiamo usando "pipe (int pipefd [2])" in c lo stesso?
- 15. RavenDB come svuotare?
- 16. Bash colora una parola usando eco
- 17. Come svuotare la cache in Solr?
- 18. come svuotare la cache in gwt?
- 19. Come posso eseguire una funzione bash usando sudo?
- 20. Usando Unix/Bash, come posso creare una tabella di ricerca?
- 21. Uscita pipe e stato di uscita acquisizione in Bash
- 22. Come svuotare un TFileStream?
- 23. Come svuotare un datagridview?
- 24. Inizializza una stringa in C per svuotare la stringa
- 25. Come svuotare la cache del server in asp.net?
- 26. Esempio di utilizzo di named pipe in Linux Bash
- 27. fuga pipe ("|") in una regex
- 28. Come formattare la data come gg/MM/aaaa in Angolare 2 usando le pipe?
- 29. Come troncare una tabella usando Doctrine?
- 30. SSIS ISNULL per svuotare la stringa
confuso, questo non è bash è vero? –
Non nel senso di utilizzare comandi/funzionalità incorporati in bash, ma sicuramente nel senso di una soluzione di scripting della shell che utilizza strumenti standard unix. – mvds