2017-02-13 588 views
1

这是我的服务文件:systemctl奇怪的错误:无效的参数

[Unit] 
Description=Daphne Interface 

[Service] 
ExecStartPre=cd /home/git/hsfzmun/server 
ExecStart=/bin/bash/ -c "cd /home/git/hsfzmun/server && /home/git/virtualenvs/hsfzmun/bin/daphne -b 0.0.0.0 -p 8001 -v2 config.asgi:channel_layer" 
Restart=always 
KillSignal=SIGQUIT 
Type=notify 
NotifyAccess=all 

[Install] 
WantedBy=multi-user.target 

当我执行sudo systemctl start daphnei我得到:

Failed to start daphnei.service: Unit daphnei.service is not loaded properly: Invalid argument. 
See system logs and 'systemctl status daphnei.service' for details. 

systemctl status daphnei.service结果:

* daphnei.service - Daphne Interface 
    Loaded: error (Reason: Invalid argument) 
    Active: inactive (dead) (Result: exit-code) since Mon 2017-02-13 19:55:10 CST; 13min ago 
Main PID: 16667 (code=exited, status=1/FAILURE) 

什么问题?我正在使用Ubuntu Server 16.04。

回答

0

也许你现在已经知道了,但在ExecStart行中的/bin/bash之后还有一个额外的/

我可能有systemd稍微较新的版本 - 当我试了一下,的systemctl status输出包含此消息:

Executable path specifies a directory, ignoring: /bin/bash/ -c "cd /home/git/hsfzmun/server && /home/git/virtualenvs/hsfzmun/bin/daphne -b 0.0.0.0 -p 8001 -v2 config.asgi:channel_layer" 

此外,您可以考虑使用的服务WorkingDirectory线,而不是cd &&