summaryrefslogtreecommitdiff
path: root/s6/base/scripts/rc.shutdown
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2022-03-01 22:01:26 +0000
committerdavidovski <david@davidovski.xyz>2022-03-01 22:01:26 +0000
commitefee4ebf43e376a7cd8b8abcef0c70aa90427bb4 (patch)
tree13956b6dbca8622b71edbdd3a1c2a949c5d1aac8 /s6/base/scripts/rc.shutdown
initial commit
Diffstat (limited to 's6/base/scripts/rc.shutdown')
-rwxr-xr-xs6/base/scripts/rc.shutdown30
1 files changed, 30 insertions, 0 deletions
diff --git a/s6/base/scripts/rc.shutdown b/s6/base/scripts/rc.shutdown
new file mode 100755
index 0000000..f759ba7
--- /dev/null
+++ b/s6/base/scripts/rc.shutdown
@@ -0,0 +1,30 @@
+#!/bin/sh -e
+
+### Things to do before hardware halt/reboot/poweroff.
+### Ideally, it should be a single call to the service manager,
+### telling it to bring all the services down.
+
+### If your s6-linux-init-maker invocation was made with the -1
+### option, messages from rc.shutdown will appear on /dev/console
+### as well as be logged by the catch-all logger.
+### If your s6-linux-init-maker invocation did NOT include the -1
+### option, messages from rc.shutdown will only be logged by the
+### catch-all logger and will NOT appear on /dev/console. In order
+### to print them to /dev/console instead, you may want to
+### uncomment the following line:
+exec >/dev/console 2>&1
+
+### If your services are managed by sysv-rc:
+### also remove the K11reboot link from /etc/rc6.d to prevent
+### sysv-rc from rebooting prematurely - because sysvinit does
+### not properly separate state changes from system init/shutdown.
+# exec /etc/init.d/rc 6
+
+### If your services are managed by OpenRC:
+### also remove the "killprocs" and "mount-ro" symlinks from
+### /etc/runlevels/shutdown - because OpenRC does not properly
+### separate the service manager from the shutdown manager either.
+# exec /sbin/openrc shutdown
+
+### If your services are managed by s6-rc:
+exec s6-rc -v2 -bda change