在Java位置写入的Linux守护进程

我目前正在编写一个Java守护进程。 我正在写一个脚本,将有标准的守护进程命令(开始,停止,重新启动,状态),我正试图决定安装守护进程时应该去的地方。

我目前的想法是:
PID文件: /var/run/myapp.pid
守护进程脚本: /etc/init.d/myapp
Java应用程序(.jar): / usr / bin / myapp
日志: /var/log/myapp.err,/var/log/myapp.log,/var/log/myapp.info (你明白了)
Config /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 jar文件是独立于平台的,所以/usr/share/myapp/myapp.jar是一个更好的位置。