Magari potresti studiare come funziona dbus

E' vero che è un po' complesso (e credo sovradimensionato rispetto a quello che ti serve), ma potresti prendere spunto da alcune idee

Ora parlo da profano: non è possibile creare solo una pipe in entrata e una in uscita? Gli altri processi apriranno quella d'entrata in scrittura solo nel momento in cui è necessario scrivere, e quella in uscita la terranno aperta read-only (se è possibile che più processi leggano un file contemporaneamente).