Cara menjalankan program C ++ setiap kali USB flash drive dimasukkan
9
Saya memiliki program C ++ yang mengakses pen drive USB / flash drive. Ini berfungsi untuk flash drive yang saat ini dimasukkan. Program C ++ normal tidak dijalankan sampai kita menjalankannya. Tetapi saya ingin program berjalan secara otomatis setiap kali flash drive dimasukkan. Bagaimana saya bisa melakukan itu?
Jika Anda ingin program Anda membedakan disk, sehingga menjalankan operasi yang berbeda, gunakan (Anda dapat memberikan nomor seri atau atribut apa pun yang Anda suka):
+150: Jawaban luar biasa: (AFAIK lebih baik dari yang diterima) Itu membuat aturan umum untuk semua perangkat USB. Dalam jawaban yang diterima USB dibatasi untuk VID dan PID.
Helio
5
Anda dapat menggunakan udevuntuk menjalankan perintah arbitrer. Untuk membuatnya berfungsi, buat aturan di /etc/udev/rules.d/:
Saya tidak setuju. Program C ++ adalah "perintah" setelah semua. Pengguna meminta solusi untuk memicu perintah itu. (Dia berkata: "Tapi saya ingin program berjalan secara otomatis setiap kali flash drive dimasukkan. Bagaimana saya bisa melakukan itu?")
Frantique
Untuk output lsusb [ ideone.com/uOReNj ] ini, apa yang akan menjadi nilai XXXXdan YYYY?
vinayawsm
Jika flashdisk Anda adalah Kingston daripada: XXXX = 0951, dan YYYY = 162f.
Frantique
Untuk membiarkan pemicu kode saya untuk setiap pen drive yang berbeda, haruskah saya selalu memperbarui file "my-usb-device.rules"?
vinayawsm
Anda harus membuat aturan untuk setiap perangkat. Atau lebih baik refactor kode C ++ Anda untuk dijalankan sebagai daemon dan amati pemicu udev.
Anda dapat menggunakan
udev
untuk menjalankan perintah arbitrer. Untuk membuatnya berfungsi, buat aturan di/etc/udev/rules.d/
:Dan masukkan:
CATATAN: Nilai
XXXX
danYYYY
akan diambil darilsusb
output.sumber
XXXX
danYYYY
?