我正在爲POSIX(OSX)編寫一個程序,我將有很多進程將消息發送給一個監聽器,而這個監聽器本質上是一個日誌記錄線程。所有這些進程都在單獨的程序中運行,並使用許多進程寫入的單個命名管道(FIFO),但只有一個進程讀取是非常誘人的。是否有影響讓許多進程寫入到posix中命名管道上的單個閱讀器?
問題:
1)這項工作? - 我可以使用bash設置一個帶有多個進程的fifo來寫這個工作,所以我從理論上知道這是有效的。但在實踐中,我是否在談論這些問題?
殼#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字節?),則可以予假定每個呼叫寫()將會發送給讀者的整體?或者,一封郵件中的一半是否會有來自不同作者的另一封郵件的一半亂碼的風險?
感謝您的任何建議。
歡迎您:) – sfossen 2009-02-25 20:55:49