Skip to main content

Service

表明某项服务,控制起停等,不同实现可能有不同的语法

Ubuntu Linux (systemd)

位置

/etc/systemd/system/{your_service_name}.service

chmod +x {your_service_name}.service

语法和实例

[Unit]
Description=A Service Description
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
WorkingDirectory=/opt/some_program
User=root
ExecStart=/bin/sh -c "python3 web_demo.py"
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Alpine Linux (init.d)

从 systemd 服务 转换到 rc-service 服务: http://openrc.run

位置

/etc/init.d/{your_service}

开机启动

查看所有启动项

rc-update -a

添加服务到开启启动

https://wiki.alpinelinux.org/wiki/OpenRC

rc-update add {your_service} default

语法和实例

#!/sbin/openrc-run
supervisor=supervise-daemon

# 服务名
name="alist service"
description="A file list program that supports multiple storage, powered by Gin and Solidjs."

# 可运行程序位置
command=/opt/Alist/alist
command_args=" server --data /opt/Alist/data"
name=$(basename $(readlink -f $command))
supervise_daemon_args="--stdout /var/log/${name}.log --stderr /var/log/${name}.err"

# 依赖项
depend() {
After=syslog.target network-online.target
}