From 587e408ba18740f9f01f26c4a4f42eeac1659dda Mon Sep 17 00:00:00 2001 From: Woodpecker CI Date: Wed, 10 Sep 2025 00:17:55 +0000 Subject: Woodpecker CI 5b06140deda36925abe23115dc9affab61527279 [SKIP CI] --- initscripts/rc.shutdown | 61 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 46 insertions(+), 15 deletions(-) mode change 100644 => 100755 initscripts/rc.shutdown (limited to 'initscripts/rc.shutdown') diff --git a/initscripts/rc.shutdown b/initscripts/rc.shutdown old mode 100644 new mode 100755 index 68b47022..255c4b5a --- a/initscripts/rc.shutdown +++ b/initscripts/rc.shutdown @@ -1,27 +1,58 @@ #!/bin/sh -echo "shutting down" +echo "> Shutting down system..." if [ -x /etc/rc.shutdown.local ]; then - /etc/rc.shutdown.local + echo "> Running local shutdown scripts..." + /etc/rc.shutdown.local fi -if [ "$(command -v udevadm)" ]; then - udevadm control --exit +if command -v udevadm >/dev/null 2>&1; then + echo "> Stopping udev..." + udevadm control --exit fi -sv down /var/service/* -dd if=/dev/urandom of=/var/lib/random-seed count=1 bs=512 2>/dev/null -hwclock -w -u -kill -s TERM -1 +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 -swapoff -a -ip link set lo down -umount -a -r -t noproc -mount -o remount,ro / + +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 -wait -echo bye +echo "> Shutdown complete. Bye!" -- cgit v1.2.3