2011-10-13 21 views
6

在Linux中,我有幾個進程寫入一個命名管道,另一個進程正在讀取它。我懷疑我的閱讀器沒有跟上,並且有很多數據在管道中排隊等待。如何查看有多少數據在命名管道中排隊?

任何人都可以請告訴我,有沒有辦法來檢查/查看有多少數據在管道中排隊?任何Linux命令或C API?

謝謝你的時間。

--KS

回答

0

你可以嘗試的recv(...,MSG_PEEK) - 這應該從管道中讀取,但不從它的數據(這樣下次讀取將返回相同的數據)。它不一定會告訴你所有排隊的數據,只是其中的一部分。

+0

recv()是否適用於非套接字文件? – bdonlan

+0

那麼,通常從管道讀取的數據將被刪除? – Chaitanya