Я запускаю сценарий оболочки, который пишет в файл.
Этот сценарий может занять много времени, и я хотел бы отслеживать частичный вывод, а не ждать завершения всего сценария.
Безопасно ли открывать (двойной щелчок) файл, который записывается сценарием?
Ответы:
Чтение файла безопасно, хотя двойной щелчок, который вы упомянули, вероятно, откроет файл в каком-то редакторе, который предложит вам внести изменения и сохранить их. Происходят ошибки, поэтому я рекомендую команды, которые даже не позволят вам изменить файл.
Это примеры, которые работают в терминале; они будут только читать файл:
источник
Пока ты не пишешь в него, все должно быть в порядке.
Тем не менее, я бы порекомендовал использовать
в другом терминале.
Эта команда будет «следовать» за файлом
log_file
и записывать вновь добавленное содержимое, как только оно будет обновлено сценарием.источник
Недостаточно представителей, чтобы добавить комментарий к ответу Камиля Мачоровского:
Для некоторых файлов вы захотите,
tail -F file
чтобы следующее продолжалось через ротацию. Смотрю системный журнал например.источник
В случае, если сценарий (или базовая реализация платформы) многократно открывает и закрывает дескриптор файла во время своей работы, он может столкнуться с ошибкой нарушения совместного использования в последующем открытом режиме записи по следующим причинам:
1) сценарий может запросить запись доступ в монопольном режиме (исключая одновременный доступ для чтения), поэтому, если ваша программа редактора файлов / программы просмотра еще только читает файл, это может вызвать ошибку в сценарии записи.
2) Кроме того, некоторые редакторы / программы просмотра файлов блокируют файл на весь период, в течение которого они открывают файл.
В заключение, возможны проблемы, которые зависят от программы, которую вы используете для просмотра файла. И возможны проблемы, возникающие из-за реализации (или базовой структуры) сценария, который записывает в файл.
источник
tail -f
илиless +F
является рутинным.