Je suis en train d'écrire un programme pour POSIX (OSX) où de nombreux processus enverront des messages à un écouteur, qui est essentiellement un thread de journalisation. Tous les processus s'exécutent dans des programmes séparés et utilisent un seul tube nommé (FIFO) sur lequel de nombreux processus écrivent, mais un seul processus est très tentant.Y a-t-il des répercussions sur le fait que de nombreux processus écrivent sur un seul lecteur sur un tube nommé dans Posix?
Questions:
1) Cela fonctionnera-t-il? - Je peux faire ce travail en utilisant bash pour mettre en place un fifo avec de multiples processus d'écriture, donc je sais qu'en théorie cela fonctionne. Mais en pratique, y a-t-il des problèmes que je glisse?
shell # 1
$ mkfifo /tmp/fifo
$ cat /tmp/fifo
coquilles # 2 et # 3
$ cat > /tmp/fifo
"Type stuff here, after hitting enter, it is read by shell #1"
2) Si chaque auteur écrit que les messages relativement courts (< 100 octets?) Alors je peux supposer que chaque appel écrire() sera envoyé au lecteur dans son intégralité? Ou la moitié d'un message risque-t-elle d'être brouillée avec la moitié d'un autre message d'un autre auteur?
merci pour tout conseil.
vous êtes les bienvenus :) – sfossen