小编jia*_*103的帖子

在 systemd 服务脚本中创建 PID 文件时遇到问题

我正在尝试在 Debian 上安装 RipRight,但似乎没有任何预先构建的软件包。我很难让 systemd 脚本开始/停止 RipRight 作为守护程序运行,因为它无法将 PID 文件写入/run.

我经历了通常的配置/制作/制作安装。我还创建了一个ripright用户/组并添加ripright到该cdrom组中。

这是我放入的 systemd 脚本/etc/systemd/system/ripright.service

[Unit]
Description=RipRight

[Service]
Type=forking
PrivateTmp=yes
User=ripright
Group=ripright

RuntimeDirectory=ripright
RuntimeDirectoryMode=0750

ExecStart=/usr/local/bin/ripright \
    --daemon \
    --w32-filenames \
    --require-art \
    --folder-art folder.png \
    --output-file "%B/%D/%C - %N %T.flac" \
    "/opt/ripright/data"
PIDFile=/var/run/ripright/ripright.pid

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

RuntimeDirectory在脚本中使用了最近添加的指令来创建一个作为所有者的/run/ripright文件夹ripright。这个目录在我运行时被创建:

# systemctl daemon-reload
# systemctl start ripright
Run Code Online (Sandbox Code Playgroud)

在单独的窗口中:

# ls -lhrt /run
...
drwxr-x---  2 ripright ripright   40 Jan …
Run Code Online (Sandbox Code Playgroud)

systemd systemctl debian-jessie

2
推荐指数
2
解决办法
3万
查看次数

标签 统计

debian-jessie ×1

systemctl ×1

systemd ×1