我正在用 C 语言为 Minecraft 服务器编写一个 inotify 观察程序。基本上,它监视 server.log,获取最新行,解析它,以及它是否匹配正则表达式;执行一些动作。
该程序通过“匹配正则表达式>> server.log的回显字符串”正常工作,它解析并执行它应该做的事情。但是,当字符串通过 Minecraft 服务器自动写入文件时,在我关闭服务器或(有时)注销之前它不起作用。
我会发布代码,但我想知道它是否与 ext4 将数据刷新到磁盘或类似的东西无关;文件系统问题。但是,如果是这种情况会很奇怪,因为“tail -f server.log”会在文件更新时更新。