#!/bin/bash # # /etc/rc.single: Single-user startup script. # . /etc/rc.conf . /etc/rc.d/functions source_functions if [ "$PREVLEVEL" = "3" -o "$PREVLEVEL" = "5" ]; then # Shutdown daemons let i=${#DAEMONS[@]} while [[ i -gt 0 ]]; do if [[ $(echo ${DAEMONS[$i]} | /bin/grep '^[^\!]' | /usr/bin/wc -l) -eq 1 ]]; then /etc/rc.d/${DAEMONS[$i]#@} stop fi let i=i-1 done # find any leftover daemons and shut them down if [ -d /var/run/daemons ]; then for daemon in $(/bin/ls /var/run/daemons); do /etc/rc.d/$daemon stop done fi fi if [ "$PREVLEVEL" != "N" ]; then stat_busy "Sending SIGTERM To Processes" /sbin/killall5 -15 &> /dev/null /bin/sleep 5 stat_done stat_busy "Sending SIGKILL To Processes" /sbin/killall5 -9 /bin/sleep 1 stat_done if [ -x /etc/start_udev -a -d /sys/block ]; then # We have a start_udev script and /sys appears to be mounted, use UDev status "Starting UDev Daemon" /etc/start_udev if [ "$(/bin/pidof -o %PPID /sbin/udevd)" ]; then # If an old udevd is kicking around, we'll have to remount pts and shm /bin/umount /dev/shm /dev/pts >/dev/null 2>&1 /bin/mount /dev/pts /bin/mount /dev/shm fi else # Static /dev, our last resort status "Using static /dev filesystem" /bin/true fi # try syslog-NG first, then fall back to good ol' syslogd if [ -x /etc/rc.d/syslog-ng ]; then /etc/rc.d/syslog-ng start elif [ -x /etc/rc.d/syslogd ]; then /etc/rc.d/syslogd start [ -x /etc/rc.d/klogd ] && /etc/rc.d/klogd start fi fi if [ "$RUNLEVEL" = "1" ]; then printsep printhl "Entering single-user mode..." # make sure /dev/initctl is in place /bin/kill -HUP 1 exec /sbin/init -t1 S fi # End of file # vim: set ts=2 noet: