每个运行级别都有单独脚本的一个优点是,可以在 /etc/init.d 目录中单独运行脚本来停止系统服务,而不必更改系统的运行级别。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
停止系统服务。
# /etc/init.d/filename stop |
重新启动系统服务。
# /etc/init.d/filename start |
# pgrep -f service |
例如,可以通过键入以下命令来停止 NFS 服务器守护进程:
# /etc/init.d/nfs.server stop # pgrep -f nfs |
然后,可以通过键入以下命令来重新启动 NFS 服务器守护进程:
# /etc/init.d/nfs.server start # pgrep -f nfs 101773 101750 102053 101748 101793 102114 # pgrep -f nfs -d, | xargs ps -fp UID PID PPID C STIME TTY TIME CMD daemon 101748 1 0 Sep 01 ? 0:06 /usr/lib/nfs/nfsmapid daemon 101750 1 0 Sep 01 ? 26:27 /usr/lib/nfs/lockd daemon 101773 1 0 Sep 01 ? 5:27 /usr/lib/nfs/statd root 101793 1 0 Sep 01 ? 19:42 /usr/lib/nfs/mountd daemon 102053 1 0 Sep 01 ? 2270:37 /usr/lib/nfs/nfsd daemon 102114 1 0 Sep 01 ? 0:35 /usr/lib/nfs/nfs4cbd |
如果要添加用来启动和停止服务的运行控制脚本,请将该脚本复制到 /etc/init.d 目录中。然后,在要从其中启动和停止服务的 rcn .d 目录中创建链接。
有关命名运行控制脚本的更多信息,请参见每个 /etc/rc n.d 目录中的 README 文件。以下过程介绍如何添加运行控制脚本。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
# cp filename/etc/init.d # chmod 0744 /etc/init.d/filename # chown root:sys /etc/init.d/filename |
创建指向相应 rc n.d 目录的链接。
# cd /etc/init.d # ln filename /etc/rc2.d/Snnfilename # ln filename /etc/rcn.d/Knnfilename |
检验脚本在指定的目录中是否具有链接。
# ls /etc/init.d/*filename /etc/rc2.d/*filename /etc/rcn.d/*filename |
以下示例显示如何为 xyz 服务添加运行控制脚本。
# cp xyz /etc/init.d # chmod 0744 /etc/init.d/xyz # chown root:sys /etc/init.d/xyz # cd /etc/init.d # ln xyz /etc/rc2.d/S99xyz # ln xyz /etc/rc0.d/K99xyz # ls /etc/init.d/*xyz /etc/rc2.d/*xyz /etc/rc0.d/*xyz |
通过在文件名开头加一个下划线 (_) 来重命名运行控制脚本可以禁用该运行控制脚本。系统不执行以下划线或点开头的文件。如果通过为文件添加后缀的方法来复制该文件,那么,带后缀和不带后缀的文件都将运行。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
通过在新文件的开头添加下划线 (_) 来重命名脚本。
# cd /etc/rcn.d # mv filename_filename |
# ls _* _filename |
以下示例显示如何重命名 S99datainit 脚本。
# cd /etc/rc2.d # mv S99datainit _S99datainit # ls _* _S99datainit |