tło
Piszę prosty skrypt do uruchomienia w Raspbain na Raspberry Pi 2, wystarczy włączyć diodę LED, aby wskazać, że jestem gotowy na połączenie z SSH z mojego komputera stacjonarnego.
Skrypt nie jest tutaj ważny, tylko wspomnieć, że ponieważ używam kontroli częstotliwości, więc skrypt działa w nieskończonej pętli, aby często włączać i wyłączać diodę LED. To jest przykład prostej usługi. Jednak przynajmniej zaakceptowana odpowiedź na to pytanie radzi mi ustawić typ na bezczynny. Tak wygląda mój plik usługi
[Unit]
Description=Turn on LED after SSH is ready
[Service]
Type=idle
ExecStart=/usr/bin/sshready.py
[Install]
Wants=network-online.target
After=network-online.target
Efekt
Usługa działa zgodnie z oczekiwaniami. Zauważyłem jednak, że kiedy zaczynam szpachlowanie na komputerze stacjonarnym zaraz po włączeniu diody LED, monit logowania nie pojawia się natychmiast. Więc sprawdziłem z
$ systemd-analyze plot > output.svg
Wynik pokazuje
Pytanie
Wygląda na to, że moje usługi zaczynają się później network-online.target
, co jest tutaj nie tak i jak mogę to naprawić?