blob: 255c4b5af05ae87c7c4b25320b6c7d50819ceff1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
#!/bin/sh
echo "> Shutting down system..."
if [ -x /etc/rc.shutdown.local ]; then
echo "> Running local shutdown scripts..."
/etc/rc.shutdown.local
fi
if command -v udevadm >/dev/null 2>&1; then
echo "> Stopping udev..."
udevadm control --exit
fi
echo "> Stopping all services..."
sv force-stop /var/service/* 2>/dev/null
sleep 1
if [ -w /var/lib/random-seed ]; then
echo "> Saving random seed..."
dd if=/dev/urandom of=/var/lib/random-seed count=1 bs=512 2>/dev/null
fi
if [ -e /dev/rtc ] || [ -e /dev/rtc0 ]; then
echo "> Syncing hardware clock..."
hwclock -w -u 2>/dev/null
fi
echo "> Terminating processes..."
kill -s TERM -1 2>/dev/null
sleep 2
kill -s KILL -1 2>/dev/null
sleep 1
echo "> Disabling swap..."
swapoff -a 2>/dev/null
echo "> Bringing down network..."
ip link set lo down 2>/dev/null
for iface in $(ip link show | grep '^[0-9]' | awk -F: '{print $2}' | tr -d ' ' | grep -v '^lo$'); do
ip link set "$iface" down 2>/dev/null
done
echo "> Unmounting filesystems..."
umount -a -r -t noproc 2>/dev/null
echo "> Remounting root as read-only..."
mount -o remount,ro / 2>/dev/null
echo "> Syncing filesystems..."
sync
sleep 1
echo "> Shutdown complete. Bye!"
|