objectif
Découpler des étapes en streaming sans fichiers temporaires classiques.
code minimal
mkfifo /tmp/flux && { producer > /tmp/flux & } && consumer < /tmp/flux
utilisation
# exemple concret: compresser en streaming et envoyer
mkfifo /tmp/backup.fifo
{ tar -C /data -cf - . > /tmp/backup.fifo & }
zstd -T0 -3 < /tmp/backup.fifo > backup.tar.zst
rm -f /tmp/backup.fifo
variante(s) utile(s)
# surveiller si un lecteur est attaché (bloquant sinon)
exec 3>/tmp/flux & pid=$!
lsof /tmp/flux | awk 'NR>1{print}'
kill $pid 2>/dev/null
notes
- un FIFO bloque tant que les deux extrémités ne sont pas ouvertes.
- nettoyer le FIFO après usage pour éviter des collisions.