(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 选择合适的值。
只读。等待状态更改的路径。