Я хочу запустить процесс, когда файл записывается в каталог на Ubuntu. Я так понимаю, что могу написать для этого монитор. (т.е. не триггер на основе события, а «монитор»).
Чтобы реализовать это - кроме написания цикла for бесконечной продолжительности на языке C, который опрашивает каталог - какие шаги вы бы предприняли для реализации этого?
Какие шаги вы бы предприняли для реализации монитора в Ubuntu, который запускает процесс (другое приложение), когда файл записывается в каталог?
(Причина, по которой вы это сделаете, заключается в том, что процесс записи файла находится под ограниченным набором разрешений (например, tomcat6), но для выполняемого процесса (существующего программного пакета) требуется root (т.е. для запуска процесса в chroot-тюрьме) )
Если вы пишете C, почему бы просто не использовать inotify
lib?
Или, если вы просто пишете простой сценарий оболочки, вы можете использовать watch
. Оба они есть во всех современных вариантах Linux.
См. Этот вопрос StackOverflow:
https://stackoverflow.com/questions/511463/monitor-directory-for-changes
В качестве альтернативы, если установка inotify невозможна, проверьте эти программные средства: