系统管理指南:基本管理

使用运行控制脚本

Procedure如何使用运行控制脚本来停止或启动传统服务

每个运行级别都有单独脚本的一个优点是,可以在 /etc/init.d 目录中单独运行脚本来停止系统服务,而不必更改系统的运行级别。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 停止系统服务。


    # /etc/init.d/filename 
    stop
    
  3. 重新启动系统服务。


    # /etc/init.d/filename 
    start
    
  4. 检验服务是否已停止或启动。


    # pgrep -f service
    

示例 19–15 使用运行控制脚本停止或启动服务

例如,可以通过键入以下命令来停止 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

Procedure如何添加运行控制脚本

如果要添加用来启动和停止服务的运行控制脚本,请将该脚本复制到 /etc/init.d 目录中。然后,在要从其中启动和停止服务的 rcn .d 目录中创建链接。

有关命名运行控制脚本的更多信息,请参见每个 /etc/rc n.d 目录中的 README 文件。以下过程介绍如何添加运行控制脚本。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. /etc/init.d 目录中添加脚本。


    # cp filename/etc/init.d
    # chmod 0744 /etc/init.d/filename
    # chown root:sys /etc/init.d/filename
    
  3. 创建指向相应 rc n.d 目录的链接。


    # cd /etc/init.d
    # ln filename /etc/rc2.d/Snnfilename
    # ln filename /etc/rcn.d/Knnfilename
    
  4. 检验脚本在指定的目录中是否具有链接。


    # ls /etc/init.d/*filename /etc/rc2.d/*filename /etc/rcn.d/*filename
    

示例 19–16 添加运行控制脚本

以下示例显示如何为 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

Procedure如何禁用运行控制脚本

通过在文件名开头加一个下划线 (_) 来重命名运行控制脚本可以禁用该运行控制脚本。系统不执行以下划线或点开头的文件。如果通过为文件添加后缀的方法来复制该文件,那么,带后缀和不带后缀的文件都将运行。

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 通过在新文件的开头添加下划线 (_) 来重命名脚本。


    # cd /etc/rcn.d
    # mv filename_filename
    
  3. 检验脚本是否已重命名。


    # ls _*
    _filename
    

示例 19–17 禁用运行控制脚本

以下示例显示如何重命名 S99datainit 脚本。


# cd /etc/rc2.d
# mv S99datainit _S99datainit
# ls _*
_S99datainit