summaryrefslogtreecommitdiffstats
path: root/abs/core/poweroff-scripts/shutdown.script
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/poweroff-scripts/shutdown.script')
-rw-r--r--abs/core/poweroff-scripts/shutdown.script78
1 files changed, 41 insertions, 37 deletions
diff --git a/abs/core/poweroff-scripts/shutdown.script b/abs/core/poweroff-scripts/shutdown.script
index b87b52f..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
- echo "System will reboot in $delay seconds" | wall
- sleep $delay
- /sbin/runit-init 6
- fi
-
- if [ x$halt = x1 ]
- then
- echo "System will poweroff in $delay seconds" | wall
- 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