Estoy buscando algo que sospecho que no existe: una tubería con nombre sin búfer bloqueada (fifo) para usar desde la línea de comandos. ¿Hay tal cosa?
Este es el caso de uso: supongamos que tengo un proceso que se ejecutará mucho tiempo en segundo plano y arrojará una gran cantidad de resultados stdout. Realmente no me importa el resultado y no quiero almacenarlo (tal vez no tengo suficiente espacio para hacerlo), pero me gustaría "ingresar" periódicamente y seguir lo que está haciendo, luego abandonarlo nuevamente y deja que haga su trabajo. Por lo tanto, me gustaría redirigir su salida a esta tubería con nombre teóricamente protegida y sin bloqueo y luego aprovecharla periódicamente.
Entonces, básicamente, quiero comenzar así ( 10Msiendo el tamaño del búfer):
mkmagicfifo magicfifo 10M
spewingprocess > magicfifo &
... y visita periódicamente lo que sucede ...
tail -f magicfifo
... sin magicfifo almacenar toda la salida (por lo tanto, no es un archivo normal), y sin que bloquee el proceso de vomitar cuando se llena y no se toca (por lo tanto, no es una tubería con nombre normal).
No creo que las soluciones involucren tailo prunelo hagan (bueno, puedo pensar en una solución alternativa que involucre tail), porque tailaún requeriría que almacene todos los datos en algún lugar (si quiero entrar y dejar de mirarlo), y prunetiene que reescribir el archivo, presumiblemente (admito que no lo he probado / probado) rompiendo la redirección del proceso que genera toda la salida.
Espero poder escribir alguna utilidad para hacer esto, pero * nix tiene muchos aspectos geniales de archivos y tuberías y tal, simplemente no puedo evitar pensar que esto existe y simplemente no lo sé.
Entonces: ¿Existe tal cosa, y si es así, qué es?