Tengo una secuencia de comandos que escribe en una tubería con nombre y otra que lee desde la tubería. Ocasionalmente, al iniciar el script, he notado que el contenido del conducto existe a partir de una ejecución previa del script. ¿Hay alguna forma de eliminar la tubería al comienzo del script?Cómo vaciar una tubería usando bash
7
A
Respuesta
5
Creo dd
es su amigo:
dd if=myfifo iflag=nonblock of=/dev/null
strace muestra
open("myfifo", O_RDONLY|O_NONBLOCK)
y de hecho ni siquiera tiene el bloque en una FIFO vacía.
1
Puede leer desde la tubería hasta que esté vacía. Esto efectivamente lo vaciará.
Antes de intentar esta atrevida proeza, llame al fcntl(mypipe, F_SETFL, O_NONBLOCK)
(no conozco el equivalente del script de shell) para hacer una lectura cuando la tubería está vacía, no cuelgue su programa.
1
Prueba esto:
"Apertura de la FD de lectura/escritura en lugar de sólo lectura cuando la creación de la tubería impide el bloqueo."
de:
Setting up pipelines reading from named pipes without blocking in bash
Cuestiones relacionadas
- 1. ¿Vaciar la tubería de instrucciones de Intel Core 2 Duo?
- 2. cómo vaciar un archivo usando Python
- 3. Compruebe si stderr es una tubería en bash
- 4. Tubería de implemento ("|") usando C .. (horquilla utilizada)
- 5. ¿Cómo concatenar stdin en una tubería?
- 6. Cómo vaciar un TFileStream?
- 7. ¿Cómo vaciar una lista en C#?
- 8. ¿Cómo vaciar una matriz de caracteres?
- 9. ¿Cómo vaciar/destruir una sesión en rieles?
- 10. ¿Cómo vaciar una base de datos SQL?
- 11. Valores de "tubería" en las variables de Bash
- 12. Cómo borrar/vaciar el cartón en la vista Vaciar 0isarpear
- 13. gdb - depuración con tubería
- 14. cómo vaciar firefox dom localstorage
- 15. Cómo implementar elegantemente el patrón de tubería usando Scala
- 16. Salir de una carpeta usando Git Bash
- 17. Cómo obtener el PID de un proceso en una tubería
- 18. Cómo vaciar correctamente un NSMutableArray
- 19. ¿Cómo puedo ejecutar una función bash usando sudo?
- 20. Generando permutaciones usando bash
- 21. ¿Cómo se puede vaciar una escritura usando un descriptor de archivo?
- 22. ¿Cómo crear subdirectorios inexistentes recursivamente usando Bash?
- 23. ¿Cómo vaciar las aplicaciones de iPad?
- 24. Vaciar a ListView
- 25. ¿Cómo vaciar un socket en python?
- 26. Forma correcta de vaciar una C-String
- 27. Vaciar una matriz en Java/procesamiento
- 28. Cómo conectar las funciones de bash definidas por el usuario con la tubería
- 29. Cómo borrar/dejar/vaciar una colección MongoDb con Casbah
- 30. Bash - cómo descomprimir un archivo zip por tubería (de "wget -qO-")
confundido, esto no es fiesta es? –
No en el sentido de utilizar comandos/funciones bash-built-in, pero definitivamente en el sentido de una solución de creación de scripts utilizando herramientas estándar de Unix. – mvds