我对Ubuntu 16和systemd单元文件有一个奇怪的问题。我有一个从本地文件系统读取目录的服务。从环境变量中读取目录。现在,当我手动启动服务时(如:在ssh会话中),一切正常。但是,当我使用下面的单元文件启动服务时,该服务无法打开storage
目录。我得到的错误是:could nog read contents of storage" message="open /srv/services/poddy/storage: no such file or directory
。
现在我的问题是:系统是否有“沙盒”服务?
[Unit]
Description=Poddy service
After=network.target
[Service]
Type=simple
User=myusername
Group=myusername
WorkingDirectory=/srv/services/poddy
ExecStart=/srv/services/poddy/poddy
Restart=always
RestartSec=5
StartLimitInterval=60s
StartLimitBurst=3
Environment=PODDY_STORAGE="/srv/services/poddy/storage"
Environment=PODDY_PORT=8085
[Install]
WantedBy=multi-user.target
答案 0 :(得分:1)
嗯,我自己解决了。事实证明,引用systemd单元文件中环境var的值最终会使该值双重转义。
所以,改变这个:
Environment=PODDY_STORAGE="/srv/services/poddy/storage"
成:
Environment=PODDY_STORAGE=/srv/services/poddy/storage
解决了我的问题:)。