关于Incron触发脚本两次的设置问题咨询
Incron事件触发与IN_ONESHOT参数解析
当你同时配置
IN_MODIFY、IN_ATTRIB、IN_CLOSE_WRITE事件时,若多个事件被触发,确实会导致脚本执行多次。Incron默认行为是每个匹配的事件都会独立触发一次脚本,比如文件编辑保存时,往往会同时触发IN_MODIFY和IN_CLOSE_WRITE,这就会让脚本跑两次,和你实际遇到的情况完全吻合。添加
IN_ONESHOT参数后脚本仅执行一次,它的作用并非只捕获事件组中的某一个事件,而是在触发一次脚本执行后,自动删除当前的incron任务。也就是说,只要任务被触发过一次,后续不管有多少匹配的事件发生,这个任务已经不存在了,所以只会执行一次。如果需要持续监听事件但避免短时间内重复触发脚本,得自己在脚本里实现防抖逻辑,IN_ONESHOT本质是用来设置一次性任务的开关。
内容的提问来源于stack exchange,提问作者Danard
相关产品推荐
相关产品推荐

