Php 监视一组目录并生成;事件;,当新文件出现时,libevent或libev可以这样做吗?

Php 监视一组目录并生成;事件;,当新文件出现时,libevent或libev可以这样做吗?,php,unix,libevent,libev,Php,Unix,Libevent,Libev,我正在用PHP编写一个程序(不问),它需要监视一组等待文件出现的目录,并处理新来者 libevent或libev(两者都有匹配的PHP扩展)可以生成这样的事件吗?我知道,两者使用的底层机制(kqueue、epoll等)都支持这一点,但是库是否利用了这一功能 我的程序必须在Linux和Solaris上运行,因此无法直接使用inotify 谢谢 不,您不能使用libevent或libev,您需要使用inotify/dnotify之类的工具。但是,您可以使用libevent或libev查看通过inot

我正在用PHP编写一个程序(不问),它需要监视一组等待文件出现的目录,并处理新来者

libevent或libev(两者都有匹配的PHP扩展)可以生成这样的事件吗?我知道,两者使用的底层机制(kqueue、epoll等)都支持这一点,但是库是否利用了这一功能

我的程序必须在Linux和Solaris上运行,因此无法直接使用inotify


谢谢

不,您不能使用libevent或libev,您需要使用inotify/dnotify之类的工具。但是,您可以使用libevent或libev查看通过inotify获得的文件描述符。

您可以使用libfam让fam报告文件和目录上的事件,并使用libev或libevent自己查看套接字(包括您访问fam守护进程的套接字).

你可以尝试使用
监视
命令。三个总是一个cron作业真的吗,达贡?克朗的工作?你多久运行一次?每分钟?免费初始化整个php进程(大多数情况下)并将提交文件的处理延迟平均30秒?好主意……我每分钟都在运行大量的cron作业,如果这会在一台动力不足的服务器上占用大量资源的话。我想,你每天也会开一辆18轮的车上班。以防万一……谢谢你,雷米,但是——正如我在问题本身中指出的那样——这个程序必须在Linux和Solaris上工作,所以不能直接使用inotify。FAM(Gamin)似乎暂时在为我做这件事——很好地观看目录。不幸的是,这是它唯一能做的事情——例如,监视套接字不在它的功能列表中……因为我将使用两个不同的事件源(FAM和libev(ent)),我需要两个不同的线程在每个源上等待。。。不幸的是,在PHP中创建多线程应用程序相当困难:-(