(PECL ev >= 0.2.0)
EvStat 會監控檔案系統路徑的屬性變更。它會定期(或在作業系統發出變更訊號時)呼叫該路徑上的 stat(),並查看與上次相比是否有變更,如果有的話,就會呼叫回呼函式。
路徑不需要存在:從「路徑存在」變為「路徑不存在」是一種狀態變化,與其他狀態變化一樣。「路徑不存在」條件由 'nlink'
項為 0 表示(由 EvStat::attr() 方法返回)。
路徑不能以斜線結尾,也不能包含特殊組件,例如 '.'
或 ..
。路徑應該是絕對路徑:如果是相對路徑且工作目錄發生變化,則行為未定義。
由於沒有可用的可攜式變更通知介面,可攜式實作只是定期在路徑上呼叫 stat() 來查看它是否發生了變化。對於這種情況,可以指定建議的輪詢間interval。如果指定輪詢間隔為 0.0
(強烈建議),則將使用合適的、未指定的預設值(預計約為 5 秒,但這可能會動態變化)。libev 也會強制執行最小間隔,目前約為 0.1
,但这通常是多餘的。
此監控器類型不適用於大量的 EvStat 監控器,因為即使使用作業系統支援的變更通知,這也可能會消耗大量資源。
$path
,$interval
,$callback
,$data
= null
,$priority
= 0
唯讀。關於預期偵測到變更速度的提示,通常應指定為 0.0
以讓 libev 選擇合適的值。
唯讀。要等待狀態變更的路徑。