不知道大家有沒有用過會幫你追蹤檔案的變動狀況 (更新/刪除) 的程式,在一偵測到檔案有變動時就會提醒/自動更新到最新的結果。在 Linux 上 kernel 那邊有提供一套 C API 專門處理這件事,叫做 inotify,利用這一組 API 我們就能輕鬆的在 Linux 上的程式做到一樣的偵測。
然而 inotify 針對每個使用者其實是設有上限的 (是一個使用者,而非一個程式),如果程式因意外掛著沒有被清掉,或是沒寫好導致一直占用資源,這將導致後續的程式因為觸發上限導致失敗。這時就需要去找出到底是哪些 process 占用掉太多 inotify 資源。