一点基本问题,但我似乎无法找到一个直接的答案

我有一个java应用程序,我目前通过发出java -jar myapp.jar运行,但我想知道它作为一个守护进程运行的优点是什么,我可以使用shell脚本在启动时运行jar所以还有其他任何其他从性能/可靠性的角度来看? 还是我完全错过的其他问题?

(运行ubuntu 10.10)

谢谢

===============>>#1 票数:3 已采纳

如果您正在考虑像Apache Commons Daemon这样的东西,那么您将获得类似的东西

  • pid文件的创建
  • 如果JVM崩溃,则自动重启
  • 操作系统停机时关机通知
  • 使用命令停止进程
  • 以root用户身份运行或降级用户
  • ...

  ask by DaveB translate from so

未解决问题?本站智能推荐:

3回复

jar作为ubuntu上的守护程序使用100%cpu

我将jar文件作为守护程序启动。 它是一个简单的扫描应用程序,运行一个扫描文件夹的线程。 我使用sleep 60000ms,所以如果我在Mac上运行该应用,则CPU使用率接近0%。 如果我在32b Ubuntu服务器上将jar作为守护程序运行,则它会在空闲状态下消耗100%的CPU(例
4回复

作为守护程序运行的Java Jar无法发出exec()

我编写了一个Java套接字服务器,以使Web集群代码库保持同步。 当我从这样的shell登录运行init.d脚本时 注销并一切正常,但是如果服务器重新启动或者我使用类似的服务运行init.d 传递给套接字服务器的任何exec()命令都不会在linux系统上执行。 我假设这与没
4回复

Linux下的Java守护进程:选择?

我有一个控制台应用程序(用Java编写),它应该在Linux机器上运行,直到它停止。 记录由应用程序本身完成。 每当有新版本可用时,应用程序都需要停止(即我登录,停止应用程序,复制新的JAR文件,然后再次启动它)。 除了下面指定的那些之外,实现这个的有哪些选择? 已知的方
2回复

在运行JAR服务时未显示日志

我有一个胖子JAR( Spring Boot ),如果我开始使用java -jar filename.jar会创建两个日志文件:一个应用程序日志(通常是stdout),另一个将在每次访问Web服务器时创建一个条目。 现在,当我使用/etc/init.d/中的文件将其作为服务启动时(请参见下
3回复

能够从Linux中的链接运行jar

为了使我的程序更加用户友好和易于更新,在安装时会在桌面上创建指向.jar文件的链接。 问题是-该文件未标记为可执行文件,因此用户将必须找到一个隐藏目录并将jar文件标记为可执行文件。 布莱克 我尝试使用: ,可以预见的是,该用户要求输入用户密码,但没有回复。 因此,有
1回复

Linux守护进程不分叉?

我在使我的自制守护程序工作时遇到问题。 这是在Ubuntu上 每当我打电话 服务mydaemon启动 守护程序启动,但是我从来没有将控制权交回控制台。 就像过程没有分叉之类的... 这是我在守护进程开始时要做的事情。 这是我的inti.d守护程序配置文件
2回复

在Linux Ubuntu上将jar文件作为Daemon运行

我想在我的Teamspeak3上安装一个bot,并在启动时将该bot作为守护进程运行。 我编写了自己的脚本并将其复制到init.d,然后将其与update-rc.d一起添加到默认值。 生成的pid文件,但如果我尝试使用此pid终止进程,则会收到该进程不存在的错误。 如果我使用top
1回复

防止jar的多个实例运行

我的中间层jar文件在linux服务器上运行。 我希望该jar文件在后台不间断运行。 但是,当我重新运行该命令时,创建并运行了jar的另一个新实例。 我已经通过谷歌搜索。 他们提出了一些选择。 “绑定ServerSocket”。 但这对我不起作用。 按Enter或Ctrl
3回复

如何运行jar。 文件在云Ubuntu服务器上?

我有应用程序,可以通过调度程序分析网站。 它是一个jar文件,在PC上运行时可以正常工作(通过控制台启动)。 我在Ubuntu 19.10上租用云服务器以将我的应用程序部署在那里。 我使用腻子连接到服务器。 我已经想出了如何在其上安装jdk的方法: 然后通过wget(链接)命令将
1回复

Linux等待另一个守护进程启动

我正在创建一个守护进程。 此过程取决于MYSQL,但是我的进程总是在启动mysql之前启动。 mysql在启动时启动后,如何使守护程序启动? 我在rc.xd文件夹中看不到任何与mysql相关的脚本,因此我可以更改编号。 我是否在等待mysql加载的守护进程中设置了延迟? 另