2013-03-19 31 views
6

我試圖創建一個監聽程序,當某個文件出現在這個路徑中時,這個監聽程序就會啓動一個Linux命令。例如,每當一個文件出現在像C:/ home /這樣的目錄中時,我想從該文件讀取一串文本,然後啓動另一個命令。我正在考慮使用循環,但似乎效率低下。如何在linux中創建文件偵聽器?

+3

Linux沒有'C:'作爲驅動器。我很困惑。 – squiguy 2013-03-19 20:19:37

+0

如果你不必立即知道,你可以睡一段時間,而不是經常輪詢。你仍然可以使用一個循環,但每分鐘做一次(或者更長)。 – 2013-03-19 20:20:57

+0

@squiguy你是對的,我的壞。我的意思是/家/或類似的東西。在操作系統之間切換的腦屁太多了。 – Ray 2017-05-03 03:55:17

回答

11

要獲得關於文件創建,打開,修改等事件的通知,請查看inotify。從bash中使用它的好方法是使用inotifywait命令 - here是它的手冊頁。它會阻塞,直到你關心的事件發生。例如:

inotifywait -e create /path/to/watch 
echo "ding!" 

將在該路徑中創建文件或目錄時發生變化。有關更多詳細信息,請參閱man page

相關問題