我在使 systemd 脚本在 Ubuntu 16.04 中运行方面遇到了困难。有人能帮我检查一下我是否做错了什么吗?
这是脚本:
[Unit]
Description=TestProject
[Service]
ExecStart="java -Xmx2048m -Xms512m -jar /opt/project/target/test-dl-1.0.1-SNAPSHOT.jar server /opt/project/src/main/resources/config/config.yml"
Restart=always
[Install]
WantedBy=multi-user.target
然后我将其保存到,然后/lib/systemd/system/
运行systemctl daemon-reload
systemctl enable myservice.service
但是,我看到的输出systemctl status myservice.service
是:
Aug 17 14:59:17 ubuntu-8gb-sfo2-01 systemd[1]: [/lib/systemd/system/myservice.service:7] Executable path is not absolute, ignoring:
Aug 17 14:59:17 ubuntu-8gb-sfo2-01 systemd[1]: myservice.service: Service lacks both ExecStart= and ExecStop= setting. Refusing.
你们看到我做错了什么吗?顺便说一句,我也尝试在 ExecStart 部分不使用引号,但还是出现了同样的错误。
在此先感谢您的帮助。
答案1
您要启动的程序ExecStart
必须有完整路径。找出您的java
二进制文件的位置并将其添加到 ExecStart。
前任:ExecStart=/bin/java .....