Latar Belakang
Saya menulis skrip sederhana untuk dijalankan di Raspbain pada Raspberry Pi 2, sederhana menyalakan LED untuk menunjukkan saya siap terhubung dengan SSH dari komputer desktop saya.
Skrip tidak penting di sini, hanya untuk menyebutkan bahwa ketika saya menggunakan kontrol frekuensi sehingga skrip menjalankan loop tak terbatas, untuk sering menyalakan dan mematikan LED. Jadi ini adalah contoh layanan sederhana. Namun, setidaknya jawaban yang diterima dari pertanyaan ini menyarankan saya untuk mengatur tipe ke idle. Jadi file layanan saya terlihat seperti
[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
Efek
Layanan berjalan seperti yang diharapkan. Namun, saya perhatikan ketika saya mulai dempul di komputer desktop saya tepat setelah LED menyala pada prompt login tidak muncul segera. Jadi saya memeriksa
$ systemd-analyze plot > output.svg
Hasilnya menunjukkan
Pertanyaan
Sepertinya layanan saya dimulai bukan setelahnya network-online.target
, apa yang salah di sini dan bagaimana cara memperbaikinya?
Perbaiki dengan memodifikasi layanan sebagai
Masih belum sepenuhnya mengerti apa yang saya lakukan, tetapi berhasil sekarang. Adakah yang bisa dijelaskan?
Memperbarui
Jawaban ini dibuat sendiri sebelum jawaban yang diterima datang.
sumber
After=
arahan harus ada di[Unit]
bagian. Hanya itu saja.