擅长:python、mysql、java
<p>来自<code>tail</code><a href="http://www.monkey.org/cgi-bin/man2html?tail" rel="nofollow noreferrer">man page</a>:</p>
<blockquote>
<p>-f Do not stop when end-of-file is reached, but rather to wait for
additional data to be appended to the
input. If the file is replaced (i.e.,
the inode number changes), tail will
reopen the file and continue. If the
file is truncated, tail will reset its
position to the beginning. This makes
tail more useful for watching log
files that may get rotated. The -f
option is ignored if the standard
input is a pipe, but not if it is a
FIFO.</p>
</blockquote>
<p>所以,你可以做同样的事情:</p>
<ol>
<li>使用<a href="http://linux.die.net/man/2/stat" rel="nofollow noreferrer">stat()</a>读取文件的索引节点号</li>
<li>显示该文件的内容。存储文件描述符的位置,例如p=ftell(fd)</li>
<li>再次使用stat(),查看inode是否已更改。如果是,则从位置p开始显示文件的内容</li>
<li>重复</li>
</ol>