开门见山先说结论:基于inode实现。

分析很简单,logstash是用一个filewatch去监视文件的。在logstash目录里搜索filewatch即可找到该目录

logstash/vendor/bundle/jruby/1.9/gems/filewatch-0.6.7/lib/filewatch

其中的watch.rb文件是我们所关注的重点

    public
def inode(path,stat)
if @iswindows
fileId = Winhelper.GetWindowsUniqueFileIdentifier(path)
inode = [fileId, 0, 0] # dev_* doesn't make sense on Windows
else
inode = [stat.ino.to_s, stat.dev_major, stat.dev_minor]
end
return inode
end

修改文件名并不会改变inode与文件的对应关系,并且打开一个文件以后,系统就以inode号码来识别这个文件,不再考虑文件名。

inode具体原理参考下文:

http://www.cnblogs.com/itech/archive/2012/05/15/2502284.html

最新文章

  1. 利用Python进行数据分析(5) NumPy基础: ndarray索引和切片
  2. 按要求编写Java应用程序: (1)编写西游记人物类(XiYouJiRenWu) 其中属性有:身高(height),名字(name),武器(weapon) 方法有:显示名字(printName),显示武器(printWeapon) (2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。并分别为他 们的两个属性(name,weapon)赋值,最后分别调用printName,
  3. 【工作常用代码集】批量Telnet远端端口
  4. BugTracker.NET的配置
  5. LightSpeed 的Left Join Bug解决方案
  6. 配置oss bucket cors
  7. oracle 修改表的sql语句
  8. noip2001提高组题解
  9. 再来,LVS+KEEPALIVED
  10. Android程序的入口点和全局变量设置--application
  11. sql2008R2数据库备份--双机备份
  12. jquery ui tab跳转
  13. MongoDB学习笔记<四>
  14. infix to postfix 完整版
  15. C#7的9个新语法
  16. python内存回收的问题
  17. 分布式监控系统开发【day38】:报警策略设计(二)
  18. 详解vuex
  19. 18.Class 的基本语法
  20. IOC注解开发与XML整合

热门文章

  1. SpringBoot集成Spring Security(5)——权限控制
  2. HTTP之URL的快捷方式
  3. [個人紀錄] postgre dump出table 再用psql還原
  4. c#对象深复制demo
  5. validateField方法对部分表单字段进行校验
  6. 构造命题公式的真值表--biaobiao88
  7. JAVA中调用外部程序,并等待其退出(涉及Runtime和ProcessBuilder)
  8. Linux操作:使用grep排除搜索的目录
  9. EntityFramework 基类重写
  10. logger.info占位符的使用