Bir SSID'yi tarayan, ağı ve SSH tünelini açan ve birkaç başka iş yapan bir WiFi ve güç izleme servisi komut dosyası başlatmak için systemd kullanıyorum.
Benim açımdan çok, her zaman soğuk açılışta işe yaramaz (ancak ılık botta çalışır). İlk "ifconfig mlan0 up" başarısız olur. Bu, soketlere bağımlı olan bir yarış durumu ile bağlantılı görünüyor:
root@duovero:~# systemctl status wifipwrmon
....
Jan 01 00:00:08 duovero wifipwrmon.sh[415]: ifconfig: SIOCGIFFLAGS: No such ...e
Jan 01 00:00:17 duovero wifipwrmon.sh[415]: Searching for WiFi routers
Bu biraz tartışmalı bir örnek çünkü ifconfig'i yeniden gönderebilirim. Ancak IPC için yuvaya bağlı başka bir servisim de var. Başlamadan önce uzun bir gecikme yaşamadıkça bu tamamen önyüklemede başarısız oluyor.
Wifipwrmon.service için kullandığım şey:
[Unit]
Description=WiFi power monitor service
Requires=getty@tty1.service
After=getty@tty1.service
[Service]
ExecStart=/home/root/i2c/monitor/wifipwrmon.sh
[Install]
WantedBy=multi-user.target
Sysvinit'e alışkın olduğumu ve systemd'de yeniyim ve bunu yaptığımda zamanın yetersiz olduğunu itiraf ediyorum. Oldukça geç başlamasını istediğim için getty başlangıcına bir bağımlılık koydum (muhtemelen yeni başlayanlar için bir şey).
Birisi bana soket iletişimine bağlı bir servisi başlatmak için bağımlılığın ne olduğunu söyleyebilir mi? Hiç başarısız olmadığına çok şaşırdım - soketlerin çekirdeğin içinde olacağı kadar kritik olduğunu düşündüm.
After=network.target
anlarsam , bir bağımlılık hizmetin ancak netctl işini bitirdikten sonra başladığından emin olur. Sorunuzu gerçekten cevaplamıyor, ama belki denemek için bir yön.