![tail コマンドがデバッグ ファイルの出力を更新しない](https://rvso.com/image/623639/tail%20%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%8C%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%87%BA%E5%8A%9B%E3%82%92%E6%9B%B4%E6%96%B0%E3%81%97%E3%81%AA%E3%81%84.png)
ファイルの内容が更新されると、tail -f /var/log/messages が画面上で更新され続けることはわかっています。しかし、デバッグ ファイル システムのファイルで同じことを試したところ、機能しませんでした。何かアイデアはありますか?
ftrace を試してみましたが、これも試しました: tail -f trace は機能しません。
なお、watch -n1 cat trace を使用すると、実際に取得された内容を確認できます。
答え1
tail -f
ファイル名ではなく、ファイル記述子に対して動作します。ファイルが上書きされたり、削除されて再作成されたりすると、 tail -f
それを追跡できなくなります。
gnu tail には、inode/ファイル記述子ではなくファイル名を追跡するオプション--follow=name
またはがあります。-F