#!/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