2012-10-24 68 views
2

我在監視目錄中新文件的創建/移動。 我目前使用簡單的ls循環,我想移動到inotify使用inotify處理預先存在的文件

我有一個主要麻煩:如何處理與預先存在的文件初始化(在崩潰,重啓,停止,...的情況下)?

最初,我只想監視IN_CREATE和IN_MOVED_TO,但這不會處理預先存在的文件。

可以通過inotify本地處理嗎?

回答

1

我建議你使用iwatch其中的Perl在內部使用的inotify程序(它可以運行它作爲守護進程) 當你安裝它來觀看與文件的文件夾,你可以簡單地運行touch *內監視的文件夾。這將更新文件的時間戳和inotify事件將觸發。

如果您需要對創建或移動的文件執行某些操作,請注意IN_CREATE事件,因爲在創建文件後立即觸發此事件。在這種情況下,您可以使用事件CLOSE_WRITE,它將在文件關閉後觸發。

希望這會有所幫助!

+0

感謝您的及時答覆。現在,我正在用pyinotify在Python中進行一些測試。我想避免使用觸摸*或使用符號鏈接。我的目標是在C中實現我的過程。 – samlesu