我正在编写一个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 / 不是“正确”的。它的位置?

有帮助吗?

解决方案

您可以将 .jar 文件放在 /usr/lib/myapp/myapp.jar 中,并使启动脚本执行 java -j / usr / lib / myapp / myapp.jar

从这一方面来看,jar实际上是 / usr / bin / java 二进制文件使用的库,因此这些位置对我来说很好。

其他提示

/usr/lib/myapp/myapp.jar 建议在正确的轨道上,但 / usr / lib 用于特定于体系结构的文件 - 因为Java < code> jar 存档与平台无关, /usr/share/myapp/myapp.jar 是一个更好的位置。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top