“tail -s N”在更新前不会休眠 N 秒

sat*_*ngh 5 tail

GNU手册tail

-s, --sleep-interval=N

-f,睡眠大约N秒(默认1.0迭代之间); 同inotify--pid=P,检查过程中P至少每一次N

但是当我写tail --sleep-interval=10 -F file_name 它时它不会休眠 10 秒,它会立即更新它。是我理解错了,还是用错了?

谢谢你的帮助

Ste*_*itt 9

完整的手册描述-s

更改迭代之间等待的秒数(默认值为 1.0)。在一次迭代中,检查每个指定的文件以查看其大小是否已更改。当tail使用的inotify,这个投票相关的选项通常被忽略。但是,如果您还指定了,则 tail至少每隔number秒检查进程p是否处于活动状态。该数字必须是非负数,并且可以是当前或 C 语言环境中的浮点数。请参阅浮点数--pid=p

您的系统可能具有 inotify 功能,因此tail将使用它而不是轮询,并且由于您没有遵循 pid,因此该-s选项无效。您可以禁用inotify的无证---disable-inotify选项(含3个破折号),这将导致tail睡眠预期(感谢斯特凡Chazelas建议!)。

  • @satindersingh,您可以使用未记录的 `---disable-inotify` 选项来禁用 inotify 并尊重 `-s`。另见 https://debbugs.gnu.org/19760 或 https://debbugs.gnu.org/21265 (3认同)