Arch Linux çalıştırıyorum ve bir aygıt takıldığında bir hizmeti başlatan bir udev kuralı var. Bu durumda, bir 3G modem takıldığında bir bağlantı arar.
KERNEL=="ttyUSB*", SYMLINK=="gsmmodem", TAG+="systemd", ENV{SYSTEMD_WANTS}="netcfg@wvdial.service"
Ancak, aygıt kaldırılırsa, systemd hizmeti durdurmaz ve bu nedenle tekrar takıldığında, zaten çalıştığından hizmeti başlatmaz.
Ne gerek cihaz hizmeti durdurmak için kaldırıldığında çalışan eşleşen bir udev kuralıdır.
Güncelleme
Aşağıdaki cevabı kullanarak, şu anda sahip olduğum şu udev kuralı
KERNEL=="ttyUSB*", SYMLINK=="gsmmodem", TAG+="systemd", ENV{SYSTEMD_WANTS}="vodafone.service"
aşağıdaki hizmet dosyasıyla (temel olarak netcfg hizmet dosyasından kopyalandı ve yapıştırıldı:
[Unit]
Description=Netcfg networking service for Vodafone Dongle
Before=network.target
Wants=network.target
BindsTo=dev-gsmmodem.device
After=dev-gsmmodem.device
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/netcfg check-iface wvdial
ExecStop=-/usr/bin/netcfg down wvdial
KillMode=none
[Install]
WantedBy=multi-user.target
netcfg-wvdial
Arama yapmak için AUR'dan kullanıyorum .