Par exemple, j'ai créé un canal nommé comme suit:
mknod myPipe p
Et je l'ai lu à partir de certains processus (par exemple, un serveur). Par exemple, j'ai utilisé tail:
tail -f myPipe
Si plusieurs processus clients y écrivent des messages (par exemple, echo "msg" >> myPipe
y a-t-il un risque que les messages soient entrelacés, comme ceci:
<beginning of message1><message2><ending of message1>
Ou bien le processus d’écriture dans un canal nommé est-il atomique?
setvbuf(stdout, NULL, _IOLBF,512)
) fera cela sans vous obliger à utiliser des fonctions de bas niveau.PIPE_BUF
valeurs observées sur les systèmes Unix courants: ar.to/notes/posix#pipe-buf