units: define appropriate job timeout actions when boot or shutdown timeouts are hit

Using the new JobTimeoutAction= setting make sure we power off the
machine after basic.target is queued for longer than 15min but not
executed. Similar, if poweroff.target is queued for longer than 30min
but does not complete, forcibly turn off the system. Similar, if
reboot.target is queued for longer than 30min but does not complete,
forcibly reboot the system.
This commit is contained in:
Lennart Poettering 2014-10-28 01:49:39 +01:00
parent f189ab18de
commit 3898b80d40
3 changed files with 6 additions and 0 deletions

View file

@ -11,3 +11,5 @@ Documentation=man:systemd.special(7)
Requires=sysinit.target
Wants=sockets.target timers.target paths.target slices.target
After=sysinit.target sockets.target timers.target paths.target slices.target
JobTimeoutSec=15min
JobTimeoutAction=poweroff-force

View file

@ -12,6 +12,8 @@ DefaultDependencies=no
Requires=systemd-poweroff.service
After=systemd-poweroff.service
AllowIsolate=yes
JobTimeoutSec=30min
JobTimeoutAction=poweroff-force
[Install]
Alias=ctrl-alt-del.target

View file

@ -12,6 +12,8 @@ DefaultDependencies=no
Requires=systemd-reboot.service
After=systemd-reboot.service
AllowIsolate=yes
JobTimeoutSec=30min
JobTimeoutAction=reboot-force
[Install]
Alias=ctrl-alt-del.target