#!/bin/sh # shellcheck disable=1090,1091 . /etc/init/rc.conf . INITDIR/rc.lib PATH=$PATH:/usr/local/bin:/usr/bin run_hook pre.shutdown command -v sv >/dev/null && out "Waiting for runit services to stop..."; { sv -w196 force-stop /var/service/* >/dev/null sv exit /var/service/* >/dev/null } command -v svctl >/dev/null && out "Waiting for sysmgr services to stop..."; { svctl kill /var/sysmgr/* 2>/dev/null } # Save random seed random save out "Sending TERM signal to all processes..."; { killall5 -TERM sleep 1 } out "Sending KILL signal to all processes..."; { killall5 -KILL } out "Unmounting filesystems and disabling swap..." out "Remounting rootfs as readonly"; { swapoff -a umount -rat nosysfs,noproc,nodevtmpfs,notmpfs mount -o remount,ro / sync } run_hook post.shutdown case "$1" in reboot) shalt r ;; poweroff) shalt p; esac