我在OS X中使用内核队列来监视文件事件(sample code)以及在文件 foo.bar
上运行示例代码然后修改文件,该示例打印出它收到文件的删除事件。怎么会这样?这是一个错误吗?
答案 0 :(得分:4)
通过“修改”文件,我认为你是指编辑它或其他任何东西。
不,这不是错误。大多数文本编辑器将修改后的文件的内容写入另一个文件,然后刷新并关闭它,然后删除原始文件并将另一个文件重命名为原始文件。
另一方面,一些“简单”的编辑操作,例如使用echo whatever >>thefile
在文件中附加一行,不会删除文件,而是打开/搜索/写入/刷新/关闭它。