Systemd 现代 Linux 发行版基本都已经切换到此作为系统进程管理.

对于我,好处是带来了用户级别的进程管理.

建立 ~/.config/systemd/user/

这个目录是用户级服务的存储目录,如果没有则需要新建

mkdir -p ~/.config/systemd/user/

生成对应的服务

每个服务都对应一个 sample.service 其中 sample 一般是服务缩写

增加描述 Description 好处是在执行 systemctl --user status 可以查看更好

cat << EOF > ~/.config/systemd/user/sample.service
[Unit]
Description=Sample Service

[Service]
# 工作目录
# WorkingDirectory=/data/work/path

# 启动执行
ExecStart=echo hello world

# 总是重启,按照此例子,只会每5秒输出一次 hello world
Restart=always
RestartSec=5s

[Install]
WantedBy=default.target
EOF

执行服务

必须带有 --user 参数

systemctl --user enable sample # 激活 sample
systemctl --user start sample

后话

此处仅是建立了用户的简单服务.

每次重启后, systemd 会启动此服务.