Linux

來自兩個管道的非阻塞輪詢?

  • February 12, 2015

這是我想做的..

mkfifo infrequentlog frequentlog
sort -m infrequentlog frequentlog > mylog
funcA > infrequentlog 
funcB > frequentlog 

這樣當監控尾部時,我可以看到日期是從兩個日誌中排序的。

tail -f mylog

問題是這個東西在 funcA 產生東西之前不會列印。我想要的是,即使 funcA 暫時不會產生任何東西,我仍然會得到一些關於 funcB 的東西

創建第三個管道並將前兩個管道連續複製到其中。然後讀第三條:

while cp infrequentlog mainlog; do :; done &
while cp frequentlog mainlog; do :; done &

sort mainlog > mylog

您還需要重複排序以獲取所有消息。

引用自:https://unix.stackexchange.com/questions/184323