#!/bin/bash # # # rc.single This file is executed by init when it goes into runlevel # 1, which is the administrative state. It kills all # deamons and then puts the system into single user mode. # Note that the file systems are kept mounted. # # Author: Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org> # Modified for RHS Linux by Damien Neil # . /etc/init.d/functions if [ "$1" != "start" ]; then exit 0 fi # Kill all processes. [ "${BASH+bash}" = bash ] && enable kill gprintf "Sending all processes the TERM signal...\n" kill -15 -1 sleep 5 gprintf "Sending all processes the KILL signal..\n" kill -9 -1 rm -f /var/lock/subsys/* # this looks nicer [ -x /usr/bin/clear ] && /usr/bin/clear # make sure modprobe is working if [ -f /proc/sys/kernel/modprobe ]; then sysctl -w kernel.modprobe="/sbin/modprobe" >/dev/null 2>&1 fi # If they want to run something in single user mode, might as well run it... for i in /etc/rc1.d/S[0-9][0-9]* ; do # Check if the script is there. [ -x "$i" ] || continue # Reject backup files and files generated by rpm. case "$1" in *.rpmsave|*.rpmorig|*.rpmnew|*~|*.orig) continue;; esac [ "$i" = "/etc/rc1.d/S00single" ] && continue $i start done # Now go to the single user level. gprintf "Telling INIT to go to single user mode.\n" # init hangs if LANG is set unset LANG exec init -t1 S