openbsd运行Linux应用程序,OpenBSD上的服务管理程序rcctl
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'
總結
以上是生活随笔為你收集整理的openbsd运行Linux应用程序,OpenBSD上的服务管理程序rcctl的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python正则表达式(网址正则/超链接
- 下一篇: 如何用公式编辑器打半中括号?