【发布时间】:2015-09-29 19:27:39
【问题描述】:
我创建了一个脚本,用于部署必须在启动时运行的 java 程序。我写了一个由脚本自定义的小模板,并将其添加到 /etc/systemd/system/ServerName.service
[Unit]
Description= ServerName Java Daemon
[Service]
ExecStart=/usr/lib/jvm/java/bin/java -jar PathToFile.jar
User=psadmin
[Install]
WantedBy=multi-user.target # Similar to runlevel 5
我在 visudo 中添加了用户 psadmin 来运行 systemctl,而无需提示输入密码。这对于使用 sudo systemctl start ServerName.service 启动服务非常有效。然后脚本重新加载 systemctl 守护进程,“sudo systemctl daemon-reload”。
当脚本使用 systemctl enable ServerName.service 执行该部分时,我得到返回“无法发出方法调用:访问被拒绝”。
当我在相同的用户上下文下手动执行此操作时,我得到返回“无法发出方法调用:无效参数”,但它可以工作并且服务已启用。 感谢您的任何提示!
【问题讨论】:
-
问题是java客户端使用的数据库。服务尝试连接时数据库未运行。
标签: bash service startup centos7