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