Кто нибудь пользуется демоном watcher.py?

Это программа по отслеживаю событий, типа incron, только с рекурсией по вложенным папкам.
Домашняя страница: https://github.com/gregghz/Watcher

Демоном отслеживаю событие in_moved, т.е. когда переместится файл в папку слежения.
При наступлении события вызывается какая-то команда, у меня вызывается bash файл.
Bash файл вызывает второй bash-файл, при условии что он еще не запущен.

Вопрос такой, если я перемещаю 20 файлов, то демон отслеживает первый файл и запускает bash,
который проверяет, а не запущен ли второй bash файл. Второй файл копируется почти сразу за первым, запускается bash и в место того, чтобы завершаться, так как второй bash уже запущен, он ждет когда он завершится, чтобы запустить его.
И так все 20 файлов, почему он не завершается, а ждет?

Bash файл, который запускает демон:
#!/bin/bash
#
# Проверяем, запущен ли optimize.sh, если нет, то запускает его
if pgrep -x optimize.sh > /dev/null; then
    echo "Passed.." >> /var/www/oo.log
else
    echo "Смотрим процессы: " `pgrep -c "optimize.sh"` >> /var/www/oo.log
    /var/www/optimize.sh create
fi
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
Tolly
@Tolly Автор вопроса
Вопрос закрываю, проблема была в том, что второй скрипт запускался последовательно, и пока он не выполнился, других действий в первом скрипте не происходило, поэтому exit и не срабатывал, по той же причине в логах не было не одно "Passed.."

Решение такое: запуск скрипта не последовательно, а в фоновом режиме, тогда управление передается следующей команде, и делай что "хошь"..

Скрипт надо было запускать как: optimize.sh &
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы