在Linux上,如何通过系统调用或shell命令监视文件/目录的更改?

问题描述:

在windows编程,还有的Win32 API,使我们能够监视文件或目录的状态:改变的时候,有一个用户回调函数事件通知。例如。当在一个资源管理器窗口中创建目录时,与该目录相关的其他资源管理器窗口也将被刷新。在Linux上,如何通过系统调用或shell命令监视文件/目录的更改?

我的问题:如何做到这一点的Linux呢? linux是否提供任何系统调用或posix api或shell命令来监视文件/目录?

我知道混帐能做到这一点,但如何做混帐吗?

谢谢!

的相应的Linux API是inotify

的inotify API提供用于监控文件系统事件的机制。 Inotify可用于监视单个文件或监视目录。当监视目录时,inotify将返回目录本身的事件以及目录中的文件。