Linuxのファイルシステムイベント監視ツールinotify-tools。地味ながら大変便利なツールです。
プロセス間の同期、通信に使うために試してみました。
環境:Ubuntu 20.04 LTS(せっかくなので最近リリースされた最新バージョン)
デフォルトではインスートルされていないのでインストール。
sudo apt install inotify-tools
使うコマンドは、inotifywaitで、監視するイベントとファイル名を指定します。
mon.sh
1 2 3 4 5 6 |
#!/bin/sh while inotifywait -e modify test.txt do cat test.txt done |
シンプルな例として、ファイルに変更を与えると”cat test.txt”が実行されるようにしました。
3つのプロセスが同時に実行されることを確認しました。
ファイルだけでなく、ディレクトリも再帰的に監視できるので、システムのログなどがいつどこで何を書いているのか知りたい時など便利です。