diff options
Diffstat (limited to 'abs/core/poweroff-scripts/shutdown.script')
-rw-r--r-- | abs/core/poweroff-scripts/shutdown.script | 78 |
1 files changed, 41 insertions, 37 deletions
diff --git a/abs/core/poweroff-scripts/shutdown.script b/abs/core/poweroff-scripts/shutdown.script index 31881e8..ffc4056 100644 --- a/abs/core/poweroff-scripts/shutdown.script +++ b/abs/core/poweroff-scripts/shutdown.script @@ -1,46 +1,50 @@ #!/bin/bash MYTH_RUN_STATUS="1" . /etc/profile + +usage() { echo "Usage: $0 [-h | -r] [-t <delay> (opt)]" 1>&2; exit 1; } + INIT=`ps -p 1 -o comm=` if [ x$INIT = xrunit ] then - reboot="" - halt="" - delay="" - while getopts rht: name - do - case $name in - r) reboot=1 ;; - h) halt=1 ;; - t) delay="$OPTARG" - if [ x$delay = "xnow" ] - then - delay=0 - fi - ;; - *) - exit 2;; - esac - done - if [ x$delay = x ] - then - delay=0 + halt="" + reboot="" + delay="" + while getopts hrt: name + do + case $name in + h) halt=1 ;; + r) reboot=1 ;; + t) delay="$OPTARG" + if [ x$delay = "xnow" ] + then + delay=0 + fi + ;; + *) usage ;; + esac + done + if [ x$delay = x ] + then + delay=0 fi - - if [ x$reboot = x1 ] - then - wall "System will reboot in $delay seconds" - sleep $delay - /sbin/runit-init 6 - fi - - if [ x$halt = x1 ] - then - wall "System will poweroff in $delay seconds" - sleep $delay - /sbin/runit-init 0 - fi - + if [ x$halt = x1 ] + then + chvt 1 + echo "System will shutdown in $delay seconds..." | wall + sleep $delay + runit-init 0 + exit 0 + fi + if [ x$reboot = x1 ] + then + chvt 1 + echo "System will reboot in $delay seconds..." | wall + sleep $delay + runit-init 6 + exit 0 + fi + usage else - /sbin/shutdown.init $@ + systemctl poweroff $@ fi |