文件变化主动告知方法. pyinotify

需求:系统分为好几个模块,各有1个server,有一个全局配置文件,用来记录各个模块都需要访问的全局变量,如/etc/agent/global.cfg。要求,任何一个模块修改配置时要告知到所有模块。

基本思路有2:

  1. 修改配置的模块主动进行notify,告知其他模块配置变化
  2. 其他模块在使用相关配置时,主动查询配置文件

由于配置文件的修改并不频繁,linux提供了inotify机制,可以注册对应文件事件,如文件修改等,在事件发生后调用我们的callback,做对应的处理。


Python有pyinotify库可直接调用。

--IN_ACCESS,即文件被访问

--IN_MODIFY,文件被write

--IN_ATTRIB,文件属性被修改,如chmod、chown、touch等

--IN_CLOSE_WRITE,文件修改后close 

--IN_CLOSE_NOWRITE,文件未修改被close

--IN_OPEN,文件被open

--IN_

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值