Мне нужно хвост -f файл журнала, который вращается.
Это точно такая же проблема, как здесь, но на OS X:
Почему перестает работать менее хвостовой режим?
Так как же я могу постоянно отслеживать файл, чей индекс может измениться в OS X?
Мне нужно хвост -f файл журнала, который вращается.
Это точно такая же проблема, как здесь, но на OS X:
Почему перестает работать менее хвостовой режим?
Так как же я могу постоянно отслеживать файл, чей индекс может измениться в OS X?
Из Ubuntu Lucid (coreutils 7.4)
-f, --follow[={name|descriptor}]
output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent
With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to
track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file by reopening it periodically to see if it has been removed and
recreated by some other program
Из Mac OS X 10.6 (10A432)
-f The -f option causes tail to not stop when end of file is
reached, but rather to wait for additional data to be appended to
the input. The -f option is ignored if the standard input is a
pipe, but not if it is a FIFO.
-F The -F option implies the -f option, but tail will also check to
see if the file being followed has been renamed or rotated. The
file is closed and reopened when tail detects that the filename
being read from has a new inode number. The -F option is ignored
if reading from standard input rather than a file.
Предполагая, что вам нужно поведение --follow = /tmp/something.txt в Linux, для Mac это будет означать следующее:
tail -F /tmp/somefile.txt
Редактировать: только что протестированный на Mac OSX (Snow Leopard) и -F откроет только имя файла, которое вы ввели, и НЕ будет следовать дескриптору inode/file файла, который был открыт при перемещении.