Я удивлен, что никто не прокомментировал /user
все же. Этот очевиден: потому что это не "пользователь", это - "Универсальные Системные ресурсы".
Что касается /tmp
, это просто короче и легче ввести. C программисты имеют привычку к использованию кратких названий, когда возможный, потому что они заканчивают тем, что много раз вводили их в программе. Это очень распространено, имеют временную переменную, названную "tmp", а не "временным файлом" по той же причине, Вы используете "i" я для индекса в для цикла вместо "индекса" или "счетчика".
В моей системе Linux (GNU coreutils 8.12) я смог проверить (использование strace
) это tail -f
¹ использует lseek
системный вызов для перескакивания через большую часть файла быстро:
lseek(3, 0, SEEK_CUR) = 0
lseek(3, 0, SEEK_END) = 194086
lseek(3, 188416, SEEK_SET) = 188416
Это означает, что размер отслеженного файла не должен иметь значения в так или иначе.
Возможно, можно проверить, применяется ли то же на систему. (Очевидно, это должно иметь место.)
—
1. Я также пытался отключить поддержку inotify с недокументированным ---disable-inotify
, на всякий случай.
Если это вызывается на регулярный файл (в противоположность каналу), и хвост GNU и хвост OpenBSD (если не названо с -n +N
) ищите в конец файла, затем работайте назад для нахождения строки, где это должно начать печатать. Я не знаю, делает ли Солярис то же, но это - разумный подход, таким образом, я ожидаю, что большинство нельдов сделает то же. Поэтому размер файла не важен для производительности.
Я делаю это каждый день. Я обычно сканирую приблизительно дюжину входа в систему наше использование тестовых и рабочих серверов tail -f logs/*.{log,err,out}
. Начальная загрузка - слишком (в зависимости от количества файлов globbed), но после этого, потоковая передача в реальном времени.
Вместо того, чтобы отправить к grep, я использую exec
функциональность в screen
так как я хочу обычно видеть весь вывод (для полного tracebacks и сообщений, связанных с проблемой). Например,
!:sed -n s/.*Exception.*/\007/p
Заставить терминал подавать звуковой сигнал (или флэш-память) каждый раз, когда слово Исключение найдено.
strace
;) – Stéphane Gimenez 08.09.2011, 03:20tail -F
не поддерживается, возможности - этоstrace
не доступный … – Stéphane Gimenez 08.09.2011, 03:23truss
соответствующая утилита на Солярисе. – Gilles 'SO- stop being evil' 08.09.2011, 03:28