(PECL ev >= 0.2.0)
EvStat 监视文件系统路径以查找属性更改。它会定期(或当操作系统发出更改信号时)在该路径上调用 stat(),并查看它是否与上次相比发生了更改,如果发生更改,则调用回调。
路径不必存在:“路径存在”更改为“路径不存在”与任何其他状态更改一样。条件“路径不存在”由 'nlink'
项为 0 表示(由 EvStat::attr() 方法返回)。
路径不得以斜杠结尾或包含特殊组件,例如 '.'
或 ..
。路径应为绝对路径:如果它是相对路径并且工作目录发生更改,则行为未定义。
由于没有可用的可移植更改通知接口,因此可移植实现只是定期在路径上调用 stat() 以查看它是否以某种方式发生了更改。在这种情况下,可以指定推荐的轮询间隔。如果指定了 0.0
的轮询间隔(强烈推荐),则将使用适当的、未指定的默认值(可以预期大约为 5 秒,尽管这可能会动态变化)。libev 还会强加一个最小间隔,目前大约为 0.1
,但这通常是过度杀伤。
此监视器类型不适用于大量 EvStat 监视器,因为即使使用操作系统支持的更改通知,这也会占用大量资源。
$path
,$interval
,$callback
,$data
= null
,$priority
= 0$path
,$interval
,$callback
,$data
= null
,$priority
= 0
只读。有关预期更改检测速度的提示,通常应指定为 0.0
,以让 libev 选择合适的值。
只读。要等待其状态更改的路径。