我正在编写一个Java守护程序。我正在编写一个脚本,它将具有标准的守护进程命令(启动,停止,重启,状态),并且我正在尝试确定安装守护进程时应该去的地方。
我目前的想法是:
PID文件: /var/run/myapp.pid
守护程序脚本: /etc/init.d/myapp
Java App(.jar): / usr / bin / myapp
日志: /var/log/myapp.err , /var/log/myapp.log , / var / log / myapp .info (你明白了)
配置: /etc/myapp.conf (或 / etc / myapp / configs-go-here 如果我将来有多个)
我还是Linux目录结构的新手,所以如果我做错了,请告诉我。最令我困惑的是我的Java应用程序是.jar文件(存档)而不是二进制文件。那么这是否意味着 / usr / bin / 不是它的“正确”的地方?
答案 0 :(得分:2)
您可以将.jar
文件放入/usr/lib/myapp/myapp.jar
并使启动脚本执行java -j /usr/lib/myapp/myapp.jar
从那一侧看,jar实际上是/usr/bin/java
二进制文件使用的库,所以这些位置对我来说很好。
答案 1 :(得分:2)
/usr/lib/myapp/myapp.jar
建议在正确的轨道上,但/usr/lib
用于特定于体系结构的文件 - 因为Java jar
存档与平台无关,/usr/share/myapp/myapp.jar
是更好的位置。