Can you summarize the following document?
        
  相較於被inotify取代較舊的 dnotify模組,inotify有諸多益處。在舊的模組中,程式必須為每一個被監控的目錄建立file descriptor,這種作法很容易讓行程擁有的file descriptor逼近系統允許的上限,進而形成瓶頸。dnotify產生的file decriptor也會導致系統資源忙碌,使可移除裝置無法被移除,徒增使用上的困擾。  由於dnotify只能讓程式設計師監控目錄層級的變化,「精細度」亦是“dnotify”的劣勢之一。為此,程式設計師必須付出額外的心力,自行撰寫程式碼以期追蹤更細微的檔案系統事件。  inotify相較之下使用較少的file descriptor,亦允許select()與poll()介面,優於dnotify使用的訊號系統。這也使得inotify與既有以select()或poll()為基礎之函式庫(如:Glib)整合更加便利。

  inotify擁有專為其設計的系統函式。十分容易上手。  要使用inotify必須先引用上面的標頭檔。  建立一個inotify的實體並回傳一個file descriptor,此檔案描述子可供讀取檔案事件。隨後,可透過read()接收事件,為了避免不斷輪詢檔案,read()預設將採用同步I/O的模式,直到事件發生後才會返回。  透過路徑名稱(pathname)並選定遮罩(mask)以監控inode。inotify_add_watch()會回傳一個監控器(watch descriptor),它代表pathname指向的inode(不同的pathname有可能指向相同的inode)。  取消對某個路徑之監控。  如同之前所描述的,當檔案系統異動時,核心將會依據程式設定的條件,觸發相應的事件。事件的結構如下: 可供應用程式追蹤的事件有:

  inotify無法監控軟連結型的子目錄。
inotify是Linux核心子系統之一,做為檔案系統的附加功能,它可監控檔案系統並將異動通知應用程式。本系統的出現取代了舊有Linux核心裡,擁有類似功能之dnotify模組。