Кто-нибудь знает, как заблокировать функцию в скрипте bash?
Я хотел сделать что-то наподобие java (например, синхронизировать), чтобы каждый файл, сохраненный в контролируемой папке, был в ожидании, когда-либо пытается использовать функцию отправки.
выдержка из моего сценария:
<code>(...)</p>
<p>ON_EVENT () {
local date = $1
local time = $2
local file = $3
sleep 5
echo "$date $time New file created: $file"
submit $file
}</p>
<p><strong>submit () {
local file = $1
python avsubmit.py -f $file -v
python dbmgr.py -a $file
}</strong></p>
<p>if [ ! -e "$FIFO" ]; then
mkfifo "$FIFO"
fi</p>
<p>inotifywait -m -e "$EVENTS" --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %f' "$DIR" > "$FIFO" &
INOTIFY_PID=$!</p>
<p>trap "on_exit" 2 3 15</p>
<p>while read date time file
do
on_event $date $time $file &
done < "$FIFO"</p>
<p>on_exit
Я использую inotify, чтобы отслеживать папку при сохранении нового файла. Для каждого сохраненного (полученного) файла отправьте его в службу VirusTotal (avsubmit.py) и TreathExpert (dbmgr.py).
Параллельный доступ был бы идеальным, чтобы избежать блокировки каждого нового файла, созданного в отслеживаемой папке, но функции блокировки отправки должно быть достаточно.
Спасибо, ребята!