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

本文介绍了如何在Go语言中利用Linux的inotify接口实现配置文件的热更新。通过初始化inotify,添加文件监听,以及获取监听事件,监控配置文件的变化,当文件被写入后关闭时,触发重新读取文件内容,实现热更新。
最低0.47元/天 解锁文章
344

被折叠的 条评论
为什么被折叠?



