LDP/LDP/guide/docbook/abs-guide/ex55.sh

43 lines
1.5 KiB
Bash

#!/bin/sh
# --> Comments added by the author of this document marked by "# -->".
# --> This is part of the 'rc' script package
# --> by Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>.
# --> This particular script seems to be Red Hat / FC specific
# --> (may not be present in other distributions).
# Bring down all unneeded services that are still running
#+ (there shouldn't be any, so this is just a sanity check)
for i in /var/lock/subsys/*; do
# --> Standard for/in loop, but since "do" is on same line,
# --> it is necessary to add ";".
# Check if the script is there.
[ ! -f $i ] && continue
# --> This is a clever use of an "and list", equivalent to:
# --> if [ ! -f "$i" ]; then continue
# Get the subsystem name.
subsys=${i#/var/lock/subsys/}
# --> Match variable name, which, in this case, is the file name.
# --> This is the exact equivalent of subsys=`basename $i`.
# --> It gets it from the lock file name
# -->+ (if there is a lock file,
# -->+ that's proof the process has been running).
# --> See the "lockfile" entry, above.
# Bring the subsystem down.
if [ -f /etc/rc.d/init.d/$subsys.init ]; then
/etc/rc.d/init.d/$subsys.init stop
else
/etc/rc.d/init.d/$subsys stop
# --> Suspend running jobs and daemons.
# --> Note that "stop" is a positional parameter,
# -->+ not a shell builtin.
fi
done