mirror of
git://slackware.nl/current.git
synced 2025-01-02 06:19:52 +01:00
59 lines
1.7 KiB
Text
59 lines
1.7 KiB
Text
|
#!/bin/sh
|
||
|
#
|
||
|
# rc.sysvinit This file provides basic compatibility with SystemV style
|
||
|
# startup scripts. The SystemV style init system places
|
||
|
# start/stop scripts for each runlevel into directories such as
|
||
|
# /etc/rc.d/rc3.d/ (for runlevel 3) instead of starting them
|
||
|
# from /etc/rc.d/rc.M. This makes for a lot more init scripts,
|
||
|
# and a more complicated execution path to follow through if
|
||
|
# something goes wrong. For this reason, Slackware has always
|
||
|
# used the traditional BSD style init script layout.
|
||
|
#
|
||
|
# However, many binary packages exist that install SystemV
|
||
|
# init scripts. With rc.sysvinit in place, most well-written
|
||
|
# startup scripts will work. This is primarily intended to
|
||
|
# support commercial software, though, and probably shouldn't
|
||
|
# be considered bug free.
|
||
|
#
|
||
|
# Written by Patrick Volkerding <volkerdi@slackware.com>, 1999
|
||
|
# from an example by Miquel van Smoorenburg <miquels@cistron.nl>.
|
||
|
|
||
|
# Run an init script:
|
||
|
startup() {
|
||
|
case "$1" in
|
||
|
*.sh)
|
||
|
sh "$@"
|
||
|
;;
|
||
|
*)
|
||
|
"$@"
|
||
|
;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
# Set onlcr to avoid staircase effect.
|
||
|
stty onlcr 0>&1
|
||
|
|
||
|
if [ "$runlevel" = "" ]; then
|
||
|
runlevel=$RUNLEVEL
|
||
|
export runlevel
|
||
|
prevlevel=$PREVLEVEL
|
||
|
export prevlevel
|
||
|
fi
|
||
|
|
||
|
# Run kill scripts in the previous runlevel if not "none"
|
||
|
if [ ! "$prevlevel" = "N" ]; then
|
||
|
for script in /etc/rc.d/rc$prevlevel.d/K* ; do
|
||
|
if [ -x $script ]; then
|
||
|
startup $script stop
|
||
|
fi
|
||
|
done
|
||
|
fi
|
||
|
|
||
|
# Now do the startup scripts:
|
||
|
for script in /etc/rc.d/rc$runlevel.d/S* ; do
|
||
|
if [ -x $script ]; then
|
||
|
startup $script start
|
||
|
fi
|
||
|
done
|
||
|
|