Yanıtlar:
Bu udev
modern Linux sistemlerinde verilmektedir. udev
Sistemle başladı cin arayacaktır /etc/udev/rules.d
ve /lib/udev/rules.d
ve çekirdek olayları için eşleme kuralları çalışacaktır. Bir USB sürücü takılması olayı tetikler,udev
eşleşen bir kuralı arar ve yürütür.
Kuralların kendileri, sisteminizin ne yaptığını belirleyecektir. Son yıllarda, udev
DBUS üzerinden uygulamaları uyaracak olan HAL ile iletişim kurdu. Bu yaklaşım artık doğrudan ya da dbus-gönderme yoluyla iletişim udev
içereceğini düşündüğüm birleşik bir çözüm lehine modası geçmiş durumda .udevd
dbus
Sen faaliyetlerini izleyebilirsiniz udev
aracılığı udevadm monitor
.
Bu konuda henüz tam olarak emin değilim, bu yüzden bir tuz ve daha fazla araştırma ile alın.
Çekirdek hotplug alt sistemi ile başlar. Bir aygıt ayarlandıktan sonra, hotplug olaylarını ele almak için hangi kullanıcı alanı programı ayarlanmışsa onu arar (eğer ayarlandıysa)echo hotplug_handler > /proc/sys/kernel/hotplug
) veya kobject_uevent netlink soketi üzerinden bir veri paketi gönderir. Çekirdek hotplug işleyicisini başlattığında, bazı ortam değişkenleri ayarlar. Çekirdek bir veri paketi gönderdiğinde, anahtar = değer çiftleri içerir. İsterseniz, sadece çevreyi kaydeden ve işleyici olarak ayarlayan bir komut dosyası oluşturabilirsiniz (üretim sisteminizde değil, elbette - bir test kurulumu).
Genellikle, udev işleyici olarak kurulur ve olayların nasıl işleneceği ile ilgili çeşitli kurallara sahip olacaktır. Oradan başka şeyler yapan başka programlar başlatabilir (dbus mesajları sorunu gibi). Bu udev kuralları, özel ilgi dağılımına büyük ölçüde bağlıdır.
Bu konuda , birilerinin bazı dökümanları yazmaya çalıştığı birçok bilgi var - ilk mesajın doğru olmadığını unutmayın; Okumaya devam et.
udev
bir netlink soketindeki canlıları dinliyor. (Eski şekilde seri hale getirme / eşzamanlılık sorunları vardı.)