我写了一个程序(在Raspberry Pi上的节点js),我可以手动启动,但不能作为系统服务:
p
错误消息抱怨没有rfxtrx.service.mount单元。正确。应该有这样的单位吗?最常见的建议是守护进程重装;这个没有帮助。或者根据https://github.com/systemd/systemd/issues/5375这可能是systemd中的一个错误,它已被修复,但仅限于后来的系统版本而不是raspbian中的版本(raspbian有版本215)。
除了尝试更新为raspbian维护者不支持的版本之外,还有其他解决方案吗?
答案 0 :(得分:0)
这里的第一个问题是,您正在运行以启动服务名称etc-systemd-system-rfxtrx.service.mount
,但systemd期待/dir/to/rfxtrx
。
如果您尝试使用systemd挂载配置,则您的文件名应遵循以下规则:
装载单元必须以挂载点目录命名 控制。示例:必须配置挂载点/ home / lennart 单元文件home-lennart.mount。
因此,如果您想要在dir-to-rfxtrx.mount
创建一个挂载点,那么systemd挂载文件需要命名为/usr/lib/systemd/system/
,并且建议它位于{{1}或/etc/systemd/system/
,后一个目录优先。
如果您只想拥有一个服务文件,请启用单位systemctl enable rfxtrx.service
。当单元已经在systemd中注册并需要重新加载时,使用systemctl daemon-reload
。
您可以使用systemctl list-units
或systemctl status rfxtrx.service
命令检查systemd是否存在该服务。
您遇到的错误是您正在sudo systemctl start /etc/systemd/system/rfxtrx.service
而不是sudo systemctl start rfxtrx.service
。