Was muss ich in [install]
eingeben Abschnitt, sodass systemd /home/me/so.pl
ausführt direkt vor dem Herunterfahren und auch vor /proc/self/net/dev
wird zerstört?
[Unit]
Description=Log Traffic
[Service]
ExecStart=/home/me/so.pl
[Install]
?
Akzeptierte Antwort:
Die vorgeschlagene Lösung besteht darin, die Service-Unit als normalen Dienst auszuführen – siehe [Install]
Sektion. Also muss alles umgekehrt gedacht werden, auch Abhängigkeiten. Denn die Abschaltreihenfolge ist die umgekehrte Startreihenfolge. Deshalb muss das Skript in ExecStop=
platziert werden .
Die folgende Lösung funktioniert bei mir:
[Unit]
Description=...
[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=<your script/program>
[Install]
WantedBy=multi-user.target
RemainAfterExit=true
wird benötigt, wenn Sie kein ExecStart
haben Aktion.
Stellen Sie nach dem Erstellen der Datei sicher, dass systemctl daemon-reload
ausgeführt wird und systemctl enable yourservice --now
.
Ich habe es gerade von systemd IRC bekommen, Credits gehen an mezcalero.