使用C语言的Unix概念进行目录监视的代码

在服务器上,进程监视Unix文件系统中的文件。

如果客户端发送要监视的文件名,则服务器必须将报告发送给客户端,无论该文件是否已更改或删除。

对于服务器 – 客户端通信,我们应该使用消息队列或套接字。

对于文件中的每个更改,服务器都必须通知该更改。

对于所有文件中的所有更改,服务器必须维护一个日志文件,以便用户可以通过命令行界面查看它。

服务器可以使用两个线程:一个用于通信,另一个用于监视。

你怎么能有效地做到这一点?

看看http://en.wikipedia.org/wiki/Inotify上的inotify – 只有我害怕linux。

BSD有kqueue – 请参阅http://en.wikipedia.org/wiki/Kqueue 。