#!/bin/sh
# --> 本文档作者添加的注释为“#-->”。
# --> 这是'rc'脚本软件包的一部分。
# --> 该脚本由Miquel van Smoorenburg所撰,<miquels@drinkel.nl.mugnet.org>.
# --> 该脚本似乎仅用于特定的Red Hat / FC系统
# --> (可能不会出现在其他发行版中)。
# 关闭所有非必需但仍在运行的服务。
# (其实并不应该有,所以这只是一个健全性检查)
for i in /var/lock/subsys/*; do
# --> 标准的for/in循环,但“do”写在同一行,
# --> 有必要加";"。
# 检查是否脚本还在那里。
[ ! -f $i ] && continue
# --> 这是一个“与列表”的巧妙运用,等价于:
# --> if [ ! -f "$i" ]; then continue
# 获取子系统名称。
subsys=${i#/var/lock/subsys/}
# --> 匹配变量名,在本例中是文件名。
# --> 完全等价于 subsys=`basename $i`。
# --> 从锁文件中获取
# --> (如果存在锁文件,
# --> 那就证明了进程还在运行)。
# --> 请参见上面的“锁文件”条目。
# 关闭子系统。
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
# --> 挂起正在运行的工作和守护进程。
# --> 注意"stop"是一个位置参数,
# --> 并不是一个shell内置程序。
fi
done