2012-05-11 39 views
2

我正忙着POSIX隊列,我遇到了一個問題。當創建一個新的隊列時,我可以指定例如消息的大小和隊列中可以有多少消息。我的正常範圍是10在POSIX隊列和msg_max

/proc/sys/fs/mqueue/msg_max 

發現有一種簡單的方法來在程序執行期間除了

echo number > /proc/sys/fs/mqueue/msg_max 

也許有些系統調用改變它,設置這樣的事情存在。

回答

2

該限制是系統範圍的限制;這就是爲什麼它在/proc/sys。如果你想改變它,你將不得不使用你已經顯示的echo命令。

+0

謝謝你的回答。 – Andna

1

隊列在創建時設置,您無法在中途更改隊列。您可以通過在創建隊列時以特權用戶身份運行來增加隊列消息的數量。因此,您必須運行一個單獨的程序(作爲PU)來創建隊列或作爲PU運行,創建隊列並在完成時刪除權限。您可以增加的消息數量仍受限於隊列的總體大小,因此您必須進行一些除法(減去少量的開銷)。如果你周圍的谷歌有這個簡單的公式。