おそらくinotify-toolsはオプションです。
それらが MacOS X にも存在するかどうかはわかりません。Linux ユーザーは、yum install inotify-tools
(RedHat) またはaptitude install inotify-tools
(Debian/Ubuntu) でインストールします。
次に使用できますinotifywait
:
while [ true ]; do
inotifywait -e modify test >/dev/null 2>&1
echo "Do something"
done
バックグラウンドにするには、次のようにラップします。
{ while [ true ]; do inotifywait -e modify test >/dev/null 2>&1 ; echo "Do something" ; done }& echo $! > ~/inotitfy.something.pid
イベントが発生するとinotifywait
終了し、この例では実行されます。を介してバックグラウンド プロセスを作成した後。バックグラウンド処理されたプロセス ID は にパイプされます。-e
echo
&
~/inotitfy.something.pid
この方法でプロセスを強制終了して停止します。
kill -15 `echo ~/inotitfy.something.pid`
最初のバリアントをscreenに配置することもできます。
inotifyexec
(Debian Squeeze のように) もあるかもしれないことに注意してください。