GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿cómo ejecutar un script con Systemd justo antes del apagado?

¿Qué necesito poner en el [install] sección, para que systemd ejecute /home/me/so.pl justo antes de apagar y también antes de /proc/self/net/dev se destruye?

[Unit]
Description=Log Traffic

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

[Install]
?

Respuesta aceptada:

La solución sugerida es ejecutar la unidad de servicio como un servicio normal:eche un vistazo a [Install] sección. Así que todo tiene que pensarse al revés, las dependencias también. Porque el orden de apagado es el orden de inicio inverso. Es por eso que el script debe colocarse en ExecStop= .

La siguiente solución funciona para mí:

[Unit]
Description=...

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

[Install]
WantedBy=multi-user.target

RemainAfterExit=true es necesario cuando no tiene un ExecStart acción.

Después de crear el archivo, asegúrese de systemctl daemon-reload y systemctl enable yourservice --now .

Lo acabo de recibir de systemd IRC, los créditos van a mezcalero.


Linux
  1. Cómo configurar el script de inicio y apagado en Gentoo Linux

  2. ¿Cómo ejecutar comandos bash de Linux en un script PERL?

  3. Linux:¿ejecutar script cada 30 minutos con Systemd?

  4. ¿Cómo ejecutar un script en segundo plano (linux openwrt)?

  5. ¿Cómo ejecuto un script antes que todo lo demás al apagar con systemd?

Cómo ejecutar el comando / secuencia de comandos de Linux Shell en segundo plano

Cómo ejecutar el software de Windows en Linux con botellas

Cómo ejecutar Shell Script como servicio Systemd en Linux

Cómo ejecutar pods como servicios systemd con Podman

Cómo ejecutar Shell Script como servicio SystemD en Linux

Cómo ejecutar un alias con Sudo en Linux