共计 1387 个字符,预计需要花费 4 分钟才能阅读完成。
rcctl 是 OpenBSD 系统上的后台进程 (daemon) 管理程序,功能上类似于以前 RedHat Linux 上的 chkconfig 或新版中的 systemctl。
它其实是一个 shell 脚本程序,最早见于 OpenBSD 5.7。需要有 root 权限才可以使用。
它的原理主要是通过在 /etc/rc.conf.local 文件中设置相应进程的配置来完成。被管理的进程需要在 /etc/rc.d/ 目录下有相应的控制脚本文件。
主要功能及示例
(下面的内容主要是根据 rcctl 的 man 手册翻译而来,我再加上一些范例。愿意的朋友可以自己阅读 man 手册)
启用或禁用后台进程(包括系统自带进程如 httpd 以及通过软件包安装的进程如 MySQLd/nginx 等,下同)
rcctl enable httpd ## 启用
rcctl disable httpd ## 禁用
启动或停止后台进程
rcctl start httpd
rcctl stop httpd
也可以根据需要传入 -d (开启 debug)或 -f (强制)参数
列出进程相关的参数
# rcctl get httpd
httpd_class=daemon
httpd_flags=
httpd_timeout=30
httpd_user=root
列出进程默认参数
# rcctl getdef httpd
httpd_class=daemon
httpd_flags=
httpd_timeout=30
httpd_user=root
如果你没修改过默认参数,那么它和 get 子命令的输出应该是相同的
列出符合特定条件的进程
rcctl ls $con
列出符合条件的进程。这里的条件不可以自定义,只可以从下面几个关键词选择:
all all services and daemons ## 所有的服务和进程
faulty enabled but stopped daemons ## 启用但未能启动的服务和进程
off disabled services and daemons ## 禁用的服务和进程
on enabled services and daemons ## 启用的服务和进程
started running daemons ## 已经启动的进程
stopped stopped daemons ## 已经停止的进程
# rcctl ls faulty
httpd
ntpd
这里 httpd 和 ntpd 两个进程已经启用,但是未能启动(意味着管理员有活干了)。
调整 pkg_scripts 中进程的顺序
pkg_scripts 这个变量是用来控制从软件包中安装的进程的。有多个进程的时候,我们有时候需要调整一下它们的顺序.
rcctl order d ## 把指定的进程 d 移到第一位:
rcctl order d d1 d2 ## 把指定的进程 d 移到 d1 和 d2 之前
rcctl order ## 列出当前的顺序
设置进程参数
rcctl set httpd status on ## 应该是和 rcctl enable httpd 的功能是一样的,我目前没有发现两者的差别
rcctl set ntpd flags -s ## 设置 ntpd 的 flags 参数为 ’-s’
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-12/125866.htm