Это программа по отслеживаю событий, типа 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