GNU/Linux >> Belajar Linux >  >> Linux

Jalankan skrip/program saat file berubah

salah satu opsi Anda adalah subsistem inotify dari kernel linux:

inotify adalah subsistem kernel Linux yang bertindak untuk memperluas sistem file untuk mengetahui perubahan pada sistem file, dan melaporkan perubahan tersebut ke aplikasi

tapi sejak inotify adalah kernel-land, Anda memerlukan sesuatu di ruang pengguna untuk benar-benar menggunakannya:

  • inciron:

Daemon inotify cron (incrond) adalah daemon yang memantau kejadian sistem file dan mengeksekusi perintah yang ditentukan dalam tabel sistem dan pengguna. Penggunaannya umumnya mirip dengan cron(8).

  • gamin:

Gamin adalah sistem pemantauan untuk file dan direktori yang secara independen mengimplementasikan subset FAM, File Alteration Monitor. Berjalan sebagai layanan, memungkinkan deteksi modifikasi pada file atau direktori. gam_server berfungsi sebagai daemon untuk Gamin.

  • 'inoticoming':

inoticoming - memicu tindakan saat file masuk ke direktori

ada jawaban untuk pertanyaan serupa di askubuntu:

https://askubuntu.com/a/43848/1223


Cara lain yang cepat dan kotor untuk melakukannya adalah dengan menggunakan inotifywait dari paket inotify-tools (di fedora).

Saya lebih suka metode ini karena Anda dapat melakukan semuanya dari satu baris perintah bash. Saya sering menggunakan ini saat menulis program kecil untuk melihat hasil dari apa yang baru saja saya simpan.

while [[ 1 ]]; do inotifywait -e modify <filename>; make && ./helloworld; done

Linux
  1. Apakah Mungkin Untuk Mengetahui Program Atau Script Apa yang Membuat File Yang Diberikan?

  2. Apa yang Terjadi Saat Saya Mengeksekusi File Di Shell?

  3. Bagaimana Cara Menjalankan Script Di Shell Saat Tombol Pintasan Ditekan?

  1. Jalankan Skrip Sh Dari File *.desktop?

  2. Bagaimana cara menjalankan skrip Shell ketika file atau direktori berubah?

  3. memantau perubahan file c++ linux

  1. tidak dapat mengeksekusi file biner saat mencoba menjalankan skrip shell di linux

  2. Cara mengeksekusi file tanpa ekstensi .sh di shell

  3. Cara menjalankan skrip shell saat saya menyambungkan perangkat USB