声明
cat /dev/random
按预期继续产出产量,但是
tail -f /dev/random
挂起(至少在OSX和SUSE上).为什么后一种说法会挂起?
>查找流的结尾,通过读取直到达到EOF或通过搜索结束(/ dev / random上没有的操作).>备份一定长度(可能通过保留最近读取的适当长度内容的缓冲区,可能通过在初始扫描期间保留最后N行的搜索位置列表,或通过其他方式),并打印内容在那一点和结束之间.>继续打印新内容,因为此类内容可用.
如果没有结束 – 就像/ dev / random那样 – 第一步永远不会完成.
cat不需要找到一个从它那里寻找回头的结局,所以它没有相关的失败点.