涉及所有的移动事件,包括
IN_MOVED_FROM
和
IN_MOVED_TO
。
![640?wx_fmt=png](https://i-blog.csdnimg.cn/blog_migrate/0a6bf80c4ced6ff8ba8d281c7582835c.png)
点击蓝字关注我们
奇技指南
上篇文章《Go配置文件热加载 - 发送系统信号》中给大家介绍了在Go语言中利用发送系统信号更新配置文件。其核心思想就是:新起一个协程,监听linux 的用户自定义信号 USR1 , 当收到该信号类型时,主动更新当前配置文件。
那么接下来,我们将继续完成上一篇文章提到的第二种实现配置文件热更新方式:利用linux提供的inotify 接口实现配置文件自动更新。
01
关于inotify
首先在我们实操之前,让我们先来了解下什么是 inotify
。
在 Linux
内核 2.6.13
(June 18, 2005)版本之后,Linux
内核新增了一批文件系统的扩展接口(API),其中之一就是inotify
,inotify
提供了一种基于 inode
的监控文件系统事件的机制,可以监控文件系统的变化如文件修改、新增、删除等,并可以将相应的事件通知给应用程序。