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 会启动此服务.