【发布时间】:2017-04-03 10:57:58
【问题描述】:
我启用了以下 systemd 文件: /etc/systemd/system/pirestservice.service
[Unit]
Description=Raspberry Pi REST Service
After=local-fs.target network.target
[Service]
Type=simple
User=root
ExecStart=/usr/local/piservice/startpiservice.sh
Restart=always
[Install]
WantedBy=multi-user.target
上面引用的shell脚本如下,并且是可执行的。
#!/bin/bash
sudo java -jar /usr/local/piservice/pirestservice-0.0.1-SNAPSHOT.jar server rest_metadata/template.yml
如果我运行 shell 脚本,这个 dropwizard 服务会启动。如果我重新启动,或者从命令行启动服务,如果我这样做,服务会显示正在运行:
ps -ef | grep pirest
我将看到分配给进程的 PID 号.......但是....服务没有真正运行。我错过了什么?我只需要一个 .service 文件,还是缺少其他配置? .service 文件是否应该位于另一个目录中?
归根结底,我只想让我的应用程序作为守护程序/后台服务运行。
仅供参考,我在安装了 Ubuntu Mate 16 的 Raspberry Pi3 上运行它。
谢谢,
迈克
【问题讨论】:
-
您是否有类似“按任意键退出”的情况,即您的服务因等待用户输入而被阻止?
标签: java dropwizard systemd