]>
Commit | Line | Data |
---|---|---|
cd1a2927 MT |
1 | #!/bin/sh |
2 | # | |
15852942 | 3 | # rc.halt for ipfire 2006 |
cd1a2927 | 4 | # |
15852942 MT |
5 | |
6 | progressbar() | |
7 | { | |
8 | if [ $# != 1 ] | |
9 | then | |
10 | echo "Usage: progressbar {progress}" | |
11 | exit 1 | |
12 | fi | |
649fd295 MT |
13 | if [ -e /proc/splash ]; then |
14 | echo "show $(( 65534 * $1 / 9 ))" > /proc/splash | |
15 | fi | |
15852942 MT |
16 | } |
17 | # Set bootsplash | |
20e891c6 | 18 | progressbar 9 |
649fd295 MT |
19 | if [ -e /proc/splash ]; then |
20 | echo "silent" > /proc/splash | |
21 | fi | |
15852942 | 22 | |
cd1a2927 | 23 | echo "Stopping the RED interface..." |
20e891c6 | 24 | progressbar 8 |
cd1a2927 MT |
25 | /etc/rc.d/rc.red stop 2>/dev/null |
26 | /etc/rc.d/rc.red clear 2>/dev/null | |
15852942 | 27 | |
cd1a2927 | 28 | echo "Shutting down..." |
20e891c6 | 29 | progressbar 7 |
cd1a2927 | 30 | sleep 3 |
15852942 | 31 | |
cd1a2927 | 32 | echo "Saving the clock" |
20e891c6 | 33 | progressbar 6 |
cd1a2927 | 34 | /sbin/hwclock --systohc |
15852942 | 35 | |
cd1a2927 | 36 | echo "Sending all processes the TERM signal..." |
20e891c6 | 37 | progressbar 5 |
cd1a2927 MT |
38 | /sbin/killall5 -15 |
39 | sleep 3 | |
15852942 | 40 | |
cd1a2927 | 41 | echo "Sending all processes the KILL signal..." |
20e891c6 | 42 | progressbar 4 |
cd1a2927 MT |
43 | /sbin/killall5 -9 |
44 | sleep 3 | |
45 | ||
cd1a2927 | 46 | echo "Turning off swap" |
20e891c6 | 47 | progressbar 3 |
cd1a2927 | 48 | swapoff -a |
15852942 | 49 | |
cd1a2927 | 50 | echo "Unmounting others" |
20e891c6 | 51 | progressbar 2 |
cd1a2927 | 52 | umount -n -a |
15852942 | 53 | |
cd1a2927 | 54 | echo "Unmounting root" |
20e891c6 | 55 | progressbar 1 |
cd1a2927 MT |
56 | mount -n -o remount,ro / |
57 | ||
58 | # Send nice shutdown beep now | |
20e891c6 | 59 | progressbar 0 |
cd1a2927 MT |
60 | /usr/bin/beep -l 75 -f 3000 |
61 | /usr/bin/beep -l 75 -f 2000 | |
62 | /usr/bin/beep -l 75 -f 1000 | |
63 | /usr/bin/beep -l 75 -f 500 | |
64 | ||
65 | if [ "$1" = "halt" ]; then | |
66 | halt -i -d -p | |
67 | else | |
68 | reboot -i -d | |
69 | fi |