12-17-04 12:45 AM
karres@uiuc.edu writes:
> I mean, how does "tail -f file" do what it does? Is it just spinning
> on an open FD when it hits the bottom of the file it is "following"?
strace is your friend:
$ strace tail -f /dev/null
[...]
open("/dev/null", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
read(3, "", 8192) = 0
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
clock_gettime(CLOCK_REALTIME, {1103223584, 392427000}) = 0
nanosleep({1, 0}, NULL) = 0
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
clock_gettime(CLOCK_REALTIME, {1103223585, 406426000}) = 0
nanosleep({1, 0}, NULL) = 0
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
clock_gettime(CLOCK_REALTIME, {1103223586, 412817000}) = 0
nanosleep({1, 0}, NULL) = 0
fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 3), ...}) = 0
...and so on.
--
Måns Rullgård
mru@inprovide.com
[ Post a follow-up to this message ]
|