GNU/Linux >> Belajar Linux >  >> Linux

Linux – Bagaimana Cara Menjalankan Script Dengan Systemd Tepat Sebelum Shutdown?

Apa yang harus saya masukkan ke dalam [install] bagian, sehingga systemd menjalankan /home/me/so.pl tepat sebelum shutdown dan juga sebelum /proc/self/net/dev dihancurkan?

[Unit]
Description=Log Traffic

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

[Install]
?

Jawaban yang Diterima:

Solusi yang disarankan adalah menjalankan unit layanan sebagai layanan normal – lihat [Install] bagian. Jadi semuanya harus dipikirkan terbalik, ketergantungan juga. Karena urutan shutdown adalah urutan startup terbalik. Itu sebabnya skrip harus ditempatkan di ExecStop= .

Solusi berikut berfungsi untuk saya:

[Unit]
Description=...

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

[Install]
WantedBy=multi-user.target

RemainAfterExit=true diperlukan saat Anda tidak memiliki ExecStart tindakan.

Setelah membuat file, pastikan untuk systemctl daemon-reload dan systemctl enable yourservice --now .

Saya baru saja mendapatkannya dari systemd IRC, kredit akan diberikan ke mezcalero.


Linux
  1. Cara Mengelola Layanan Systemd dengan Systemctl di Linux

  2. Cara Setup Script Startup &Shutdown di Gentoo Linux

  3. Linux – Bagaimana Cara Menjalankan Script Pada Layar Lock/unlock?

  1. Linux – Jalankan Script Setiap 30 Menit Dengan Systemd?

  2. Bagaimana cara menambahkan shebang #! dengan skrip php di linux?

  3. Bagaimana cara menjalankan skrip di latar belakang (linux openwrt)?

  1. Bagaimana cara menjalankan skrip sebelum yang lainnya dimatikan dengan systemd?

  2. Bagaimana cara menjalankan sebagian skrip dengan hak istimewa yang dikurangi?

  3. Bagaimana cara menjalankan skrip dengan systemd tepat sebelum dimatikan?