Nicht verwenden Type=idle
- es wurde speziell für die Anmeldeaufforderung hinzugefügt und ist ungefähr so zuverlässig wie ein Würfelwurf. Erklären Sie die Abhängigkeiten einfach explizit. (Für ein kurz laufendes Skript Type=oneshot
ist es richtig.)
Ihr Dienst kommuniziert mit libvirtd using virsh
, was bedeutet, dass er nur funktionieren kann, wenn libvirtd bereits läuft. Deshalb:
[Unit] Requires=libvirtd.service After=libvirtd.service
(Passen Sie dies an, wenn Ihre Distribution den Dienst anders aufruft.)
Selbst deaktivierende Dienste sind möglicherweise nicht die beste Idee. Stattdessen können Sie Folgendes verwenden:
[Unit] ConditionPathExists=!/srv/virtual_machines