-
Notifications
You must be signed in to change notification settings - Fork 0
Systemd Besonderheiten
seahawk1986 edited this page Feb 7, 2016
·
3 revisions
Angenommen Unit_B.service hängt fest von Unit_A.service ab und soll mit ihr neu gestartet werden (z.B. irexec mit eventlircd)
# UNIT B
[Unit]
BindsTo=unit_A.service
After=unit_A.service
Wenn Unit A ein Service aus einem bereits existierenden (System-)Paket ist, kann ein Snippet unter /lib/systemd/system/unit_A.service.d/unitB.conf angelegt werden, um die Abhängigkeit zu ergänzen:
# UNIT A
[Unit]
Before=unit_B.service
Wants=unit_B.service
Das Gerät bekommt eine udev-Regel, die die passenden Attribute setzt:
ACTION=="add", ..., TAG+="systemd", ENV{SYSTEMD_WANTS}="myservice.service"
Service reagiert auf ein bestimmtes Gerät, das den TAG “systemd” hat:
SUBSYSTEM=="dvb", TAG+="systemd"
Der Service bzw. ein Drop-In dafür bekommt dann das Gerät als Abhängigkeit (mit systemd-escape kann man sich den Pfad anzeigen lassen), z.B. für eine myservice@.service, die jeweils auf ein bestimmtes Gerät warten soll, das ihr pro Instanz übergeben wird:
[Unit] Wants=dev-dvb-adapter%i-frontend0.device Wants=dev-dvb-adapter%i-demux0.device Wants=dev-dvb-adapter%i-dvr0.device Wants=dev-dvb-adapter%i-net0.device After=dev-dvb-adapter%i-frontend0.device After=dev-dvb-adapter%i-demux0.device After=dev-dvb-adapter%i-dvr0.device After=dev-dvb-adapter%i-net0.device [Service] ... [Install] ...