diff --git a/runit.nix b/runit.nix index d7b0bf3..64f99f2 100644 --- a/runit.nix +++ b/runit.nix @@ -57,6 +57,23 @@ in ''; "runit/3".source = pkgs.writeScript "3" '' #!${pkgs.runtimeShell} + echo Waiting for services to stop... + sv force-stop /etc/service/* + sv exit /etc/service/* + + echo Sending TERM signal to processes... + pkill --inverse -s0,1 -TERM + sleep 1 + echo Sending KILL signal to processes... + pkill --inverse -s0,1 -KILL + + echo Unmounting filesystems, disabling swap... + swapoff -a + umount -r -a -t nosysfs,noproc,nodevtmpfs,notmpfs + echo Remounting rootfs read-only... + mount -o remount,ro / + + sync echo and down we go ''; "service/sshd/run".source = pkgs.writeScript "sshd_run" ''