GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jak spustit skript pomocí Systemd těsně před vypnutím?

Co musím vložit do [install] sekce, takže systemd spustí /home/me/so.pl těsně před vypnutím a také před /proc/self/net/dev bude zničen?

[Unit]
Description=Log Traffic

[Service]
ExecStart=/home/me/so.pl

[Install]
?

Přijatá odpověď:

Navrhovaným řešením je spustit servisní jednotku jako normální službu – podívejte se na [Install] sekce. Takže všechno musí být myšleno obráceně, závislosti také. Protože pořadí vypnutí je obrácené pořadí spouštění. Proto musí být skript umístěn v ExecStop= .

Následující řešení mi vyhovuje:

[Unit]
Description=...

[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=<your script/program>

[Install]
WantedBy=multi-user.target

RemainAfterExit=true je potřeba, když nemáte ExecStart akce.

Po vytvoření souboru nezapomeňte systemctl daemon-reload a systemctl enable yourservice --now .

Právě jsem to dostal od systemd IRC, kredity jdou do mezcalera.


Linux
  1. Jak spustit příkazy bash Linuxu ve skriptu PERL?

  2. Linux – Jak spustit skript na obrazovce uzamčení/odemknutí?

  3. Linux – jak získat méně Ttys s Systemd?

  1. Linux – Spouštět skript každých 30 minut pomocí Systemd?

  2. Jak spustit skript na pozadí (linux openwrt)?

  3. Jak spustím skript před vším ostatním při vypnutí pomocí systemd?

  1. Jak spravovat služby Systemd pomocí Systemctl v systému Linux

  2. Jak nastavit Startup &Shutdown Script na Gentoo Linux

  3. Jak spustit část skriptu se sníženými oprávněními?