Назад | Перейти на главную страницу

Как в Ubuntu создать монитор для запуска процесса, когда файл записывается в каталог?

Я хочу запустить процесс, когда файл записывается в каталог на Ubuntu. Я так понимаю, что могу написать для этого монитор. (т.е. не триггер на основе события, а «монитор»).

Чтобы реализовать это - кроме написания цикла for бесконечной продолжительности на языке C, который опрашивает каталог - какие шаги вы бы предприняли для реализации этого?

Какие шаги вы бы предприняли для реализации монитора в Ubuntu, который запускает процесс (другое приложение), когда файл записывается в каталог?

(Причина, по которой вы это сделаете, заключается в том, что процесс записи файла находится под ограниченным набором разрешений (например, tomcat6), но для выполняемого процесса (существующего программного пакета) требуется root (т.е. для запуска процесса в chroot-тюрьме) )

Если вы пишете C, почему бы просто не использовать inotify lib?

Или, если вы просто пишете простой сценарий оболочки, вы можете использовать watch. Оба они есть во всех современных вариантах Linux.

См. Этот вопрос StackOverflow:

https://stackoverflow.com/questions/511463/monitor-directory-for-changes

В качестве альтернативы, если установка inotify невозможна, проверьте эти программные средства:

http://aplawrence.com/Unixart/watchdir.html