揮発性のメモ2

http://d.hatena.ne.jp/iww/

ファイルが出来るのを待つ。すでに出来てたら待たない。

inotifywait はエッジトリガなので、待ち始める直前にファイルを作られると詰む。

inotifyfilewait (){
    FILENAME="$1"
    DIRNAME=`dirname $FILENAME`/
    while [ ! -f $FILENAME ]; do
        inotifywait -q -e CREATE -t 1 $DIRNAME >/dev/null
    done
}

使い方:指定したファイルが出来るまで待つ。取りこぼしは1秒で回復。

$ inotifyfilewait hoge.txt
-q
静かにする。これをつけないと、開始と終了のメッセージがうるさい。
-e CREATE
ファイル作成だけ待つ
-t 1
1秒でタイムアウトする
>/dev/null
ファイルが出来たときのメッセージを表示しない

inotify で Linux ファイルシステムのイベントを監視する

# apt-get install inotify-tools