anonymous@RULINUX.NET~# Last login: 2024-11-05 12:01:23
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

perl - как отловить изменение файла

Есть сервер, написанный на perl. Хочу сделать переинициализацию конфига по его изменению. Вроде сейчас ФС позволяют эту фичу. inotify или как-то так. Как эо сделать - есть примеры?

anonymous(*) (2012-05-06 10:53:10)

Mozilla/5.0 (X11; Linux x86_64; rv:10.0.4) Gecko/20100101 Firefox/10.0.4

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: perl - как отловить изменение файла от anonymous 2012-05-06 10:53:10
avatar
Скрыть

Re:perl - как отловить изменение файла

насколько помню, man File::Tail он очень хитрый, он отслеживает изменение файла и начиная с этого изменения вываливает всё содержимое файла на STDOUT или куда там

vilfred(*)(2012-05-06 11:18:42)
Отредактировано vilfred по причине "не указана"
[#] [Добавить метку] [Редактировать] Ответ на: perl - как отловить изменение файла от anonymous 2012-05-06 10:53:10
avatar
Скрыть

Re:perl - как отловить изменение файла

Лучше бы не надо так делать - ты же в общем случае не знаешь кто и как будет менять конфиг, может он будет медленно копироваться с ФТП и ты на каждую строчку, а то и букву, будешь перечитывать _неконсистентный_ конфиг.

Обычный подход заключается в том, что демон использует неиспользуемый сигнал SIGHUP для переинициализации. Когда пользователь закончил работу с конфигом - он просто посылает этот сигнал демону и тот перечитывает конфигурацию (естественно, ты должен предусмотреть обработчик этого сигнала). Таким образом пользователь подтверждает серверу что конфиг теперь находится в правильном состоянии, а не в каком-то промежуточном (ведь сервер не может сам догадаться об этом). Есть ещё сигналы SIGUSR* на которые так же можно повесить обработчики чтобы, например, скидывать отладочную информацию в лог.

anonymous(*)(2012-05-06 11:43:29)

[#] [Добавить метку] [Редактировать] Ответ на: Re:perl - как отловить изменение файла от anonymous 2012-05-06 11:43:29
avatar
Скрыть

Re:perl - как отловить изменение файла

Большое спасибо, вразумил

anonymous(*)(2012-05-06 12:40:08)

Mozilla/5.0 (X11; Linux x86_64; rv:10.0.4) Gecko/20100101 Firefox/10.0.4
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!