[systemd-devel] Calling shutdown while executing a service

Christoph Pleger Christoph.Pleger at cs.tu-dortmund.de
Tue Jun 2 07:19:53 PDT 2015


Hello,

I created a new target, defined by this target file:

[Unit]
Description=LOCAL
Requires=multi-user.target
After=multi-user.target
Conflicts=rescue.target
AllowIsolate=yes

The new target only depends on one new service. The service is defined by:

[Unit]
Description=LOCAL
Requires=multi-user.target
Before=getty at tty1.service local.target
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/local
StandardOutput=tty
TTYPath=/dev/tty1


/usr/local/sbin/local is a bash script which calls several functions. When
one of these functions fails, i.e. returns another value than zero, the
script calls this function:

die() {
  STRING=$1
  echo >&2 "Error occured in function ${STRING}"
  echo "Press any key to reboot (sorry for your inconvenience)"
  read -n 1
  shutdown -r now
}

Now I have the case that one of the functions fails. But after pressing a
key, the computer does not reboot immediately, but schedules the reboot
for approximately two minutes in the future and then continues to execute
functions, till the two minutes are over.

What do I have to change to let the computer reboot immediately after the
keystroke?

Regards
  Christoph




More information about the systemd-devel mailing list