Odpowiedzi:
Jest to przekazywane udevna nowoczesnych systemach Linux. udevDemon zaczął z systemem wyszuka w /etc/udev/rules.di /lib/udev/rules.di potrwa zasady interpretowania zdarzeń jądra. Włożenie dysku USB spowoduje zdarzenie, udevwyszuka pasującą regułę i wykona ją.
Same reguły określą, co robi twój system. W ostatnich latach udevskontaktował się z HAL, który ostrzegałby aplikacje za pośrednictwem DBUS. To podejście jest obecnie przestarzałe na rzecz ujednoliconego udevrozwiązania, które, jak zakładam, będzie wymagało udevdkomunikacji dbusbezpośrednio lub przez dbus-send .
Możesz monitorować działania udevvia udevadm monitor.
Nie jestem jeszcze do końca tego pewny, więc weź to z odrobiną soli i więcej badań.
Zaczyna się od podsystemu hotplug jądra. Po skonfigurowaniu urządzenia wywołuje ono dowolny program przestrzeni użytkownika skonfigurowany do obsługi zdarzeń hotplug (jeśli został ustawiony przezecho hotplug_handler > /proc/sys/kernel/hotplug ), albo wysyła pakiet danych przez gniazdo kobject_uevent netlink. Kiedy jądro uruchamia moduł obsługi hotplug, ustawia niektóre zmienne środowiskowe. Kiedy jądro wysyła pakiet danych, zawiera pary klucz = wartość. Jeśli chcesz, możesz ustawić skrypt, który rejestruje środowisko i ustawić go jako moduł obsługi (oczywiście nie w systemie produkcyjnym - konfiguracja testowa).
Zwykle udev jest konfigurowany jako moduł obsługi i będzie miał kilka reguł dotyczących obsługi zdarzeń. Stamtąd może uruchamiać inne programy, które wykonują inne czynności (takie jak wydawanie komunikatów dbus). Te zasady udev są w dużym stopniu zależne od konkretnego podziału zainteresowań.
W tym wątku jest wiele informacji, w których ktoś próbuje napisać dokumentację - zwróć uwagę, że pierwsza wiadomość nie jest dokładna; Czytaj dalej.
udevnasłuchują uevents na gnieździe netlink. (W starym sposobie występowały problemy z serializacją / współbieżnością.)