mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

67 lines
1.4 KiB

#!/bin/sh
#
# ROCK Linux: /etc/rc.d/rc
#
# This script does the switching between runlevels.
#
{
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
echo "** running rc script **"
echo "RC: Previous runlevel: $PREVLEVEL, new runlevel: $RUNLEVEL."
curdir=/etc/rc.d/rc$RUNLEVEL.d
prevdir=/etc/rc.d/rc$PREVLEVEL.d
#
# run the KILL scripts of the previous runlevel (if needed)
#
if ! [ $PREVLEVEL = S -o $PREVLEVEL = N ]
then
echo "RC: Leave runlevel $PREVLEVEL ..."
for i in $prevdir/K*; do
test -x "$i" || continue
x="`echo "$i" | sed "s,$prevdir/K..,$curdir/S??,"`"
[ "`echo $x`" = "$x" ] || continue
/sbin/rc --nobtee $i stop
done
fi
echo "RC: Enter runlevel $RUNLEVEL ..."
if [ $RUNLEVEL = S ]
then
#
# Kill all processes
#
echo "Sending all processes a SIGTERM (15) ..."
killall5 -15
sleep 5
echo "Sending all processes a 2nd SIGTERM (15) ..."
killall5 -15
sleep 3
echo "Sending all processes a SIGKILL (9) ..."
killall5 -9
sleep 3
elif [ $RUNLEVEL != 0 -a $RUNLEVEL != 6 ]
then
#
# run the START scripts of the current (new) runlevel
#
for i in $curdir/S*; do
test -x "$i" || continue
x="`echo "$i" | sed "s,$curdir/S..,$prevdir/K??,"`"
[ "`echo $x`" = "$x" ] || continue
/sbin/rc --nobtee $i start
done
fi
echo "RC: The system is now in runlevel $RUNLEVEL."
# write EOT mark for btee
echo -ne '\004'
} 2>&1 | /sbin/btee a /var/log/init.msg
exit 0