Saya ingin memiliki pemicu dan ketika file tertentu diakses oleh beberapa proses, saya ingin diberi tahu (yaitu skrip harus dijalankan). Jika saya mengerti dengan benar, ini dapat dicapai dengan inotify
.
Jika saya memiliki file /foo/bar.txt
bagaimana cara mengatur inotify
untuk memantau file itu?
Saya menggunakan Debian Wheezy dengan kernel 3.12 (kernel saya memiliki dukungan inotify)
Jawaban yang Diterima:
Menurut Gilles tentang Pengguna Super:
Sederhana, menggunakan inotifywait (instal
inotify-tools
distribusi Anda paket):while inotifywait -e close_write myfile.py; do ./myfile.py; done
Ini memiliki batasan besar:jika beberapa program menggantikan
myfile.py
dengan file yang berbeda, daripada menulis kemyfile
yang ada ,inotifywait
akan mati. Kebanyakan editor bekerja seperti itu.Untuk mengatasi batasan ini, gunakan
inotifywait
pada direktori:while true; do change=$(inotifywait -e close_write,moved_to,create .) change=${change#./ * } if [ "$change" = "myfile.py" ]; then ./myfile.py; fi done