有人知道如何在bash脚本中锁定函数吗?我想做类似于Java中的同步(synchronize)操作,确保每个保存在监视文件夹中的文件都被暂停,直到尝试使用submit函数。
以下是我的脚本摘录:
(...)
ON_EVENT () { 本地日期 = $1 本地时间 = $2 文件 = $3 睡眠 5 回显“$date $time 新文件已创建:$file” 提交 $file }
提交 () { 文件 = $1 python avsubmit.py -f $file -v python dbmgr.py -a $file }
如果 [ ! -e“$FIFO”]; 然后 mkfifo“$FIFO” fi
inotifywait -m -e“$EVENTS”--timefmt'%Y-%m-%d%H:%M:%S'-格式'%T%f'“$DIR” >“$FIFO” & INOTIFY_PID = $!
陷阱"on_exit"2 3 15
当读取日期时间文件时 做 on_event $date $time $file & 完成 <“$FIFO”
on_exit
我正在使用inotify监视文件夹,当保存新文件时。对于每个保存的文件(接收),请将其提交到VirusTotal服务(avsubmit.py)和TreathExpert(dbmgr.py)。 并发访问是理想的,以避免阻塞在监视文件夹中创建的每个新文件,但锁定提交函数应该足够。
谢谢你们!