一个OpenRC Service示例

前言

昨天,我试了试Artix Linux,这也是个基于Arch的Linux发行版。他的特色是不使用systemd,提供了OpenRC、runit、s6这三个版本。

图片.png

图片描述:清华开源软件镜像站的截图。

Artix会把软件包的服务脚本和主体分开打包,但很多软件都缺了OpenRC的服务脚本,只得自己编写。

图片.png

图片描述:终端里pacman -Ss lightdm输出的结果

正文

我在网上找了很久,一直没找到OpenRC服务脚本的示例。终于,我看到了这篇文章

我把他的脚本略微修改了一下,使用的时候只需要修改开头的commandname变量,放到/etc/init.d,最后赋予执行权限即可。

#!/sbin/openrc-run

pidfile="/run/$RC_SVCNAME.pid"
command="/usr/bin/lightdm"
name="lightdm"

depend() {
   need net
}

start() {
   ebegin "Starting $name"
   start-stop-daemon --start --background \
        --exec $command \
        --make-pidfile --pidfile $pidfile
   eend $?
}

stop() {
   ebegin "Stopping $name"
   start-stop-daemon --stop \
        --exec $command \
        --pidfile $pidfile
   eend $?
}

reload() {
    ebegin "Reloading $name"
    start-stop-daemon --exec $command \
        --pidfile $pidfile \
        -s 1
    eend $?
}
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注