Я пишу программу для POSIX (OSX), где у меня будет много процессов, отправляющих сообщения одному слушателю, который по сути является потоком журналирования. Все процессы выполняются в отдельных программах и используют один именованный канал (FIFO), в который записываются многие процессы, но чтение только из одного процесса очень заманчиво.
Вопросы:
1) Будет ли это работать? - Я могу сделать эту работу, используя bash для настройки fifo с записью в нее нескольких процессов, поэтому я знаю, что теоретически это работает. Но на практике, есть ли какие-то проблемы, о которых я говорю?
shell # 1
$ mkfifo /tmp/fifo
$ cat /tmp/fifo
снаряды № 2 и № 3
$ cat > /tmp/fifo
"Type stuff here, after hitting enter, it is read by shell #1"
2) Если каждый писатель пишет только относительно короткие сообщения (<100 байт?), То могу ли я предположить, что каждый вызов write () будет отправляться читателю полностью? Или половина одного сообщения может быть искажена с половиной другого сообщения от другого автора? </p>
спасибо за любой совет.