【问题标题】:Java: Restart Java Process on Debian ServerJava:在 Debian 服务器上重新启动 Java 进程
【发布时间】:2017-07-28 21:27:18
【问题描述】:

我正在使用远程服务器并清理一些 RAM 我已经重新启动了一些正在使用的(不是系统)服务,但我无法重新启动 java 进程,因为“服务”命令找不到它(不是服务吗?它是通过官方 apt-get 安装程序安装的 oracle-java8)。

有什么建议吗?

[我已阅读其他问题,但我的情况没有合适的解决方案,我不想执行奇怪的脚本。对不起]

【问题讨论】:

    标签: java linux process debian


    【解决方案1】:

    apt-get install oracle-java8-jdk/jre 不会将 java 创建为服务。它将安装 JDK/JRE,以便您可以运行 jar 文件:

    # java -jar myjarfile.jar
    

    您服务器上的 java 进程可能已在控制台或 tty 中以这种方式启动。

    如果你想把这个jar作为服务运行,你需要创建一个支持启动、停止、重启等的包装脚本(like explained here)没有包装脚本,一个java .jar程序不能作为一个Linux 上的服务。

    如果您的 java 进程是一个 tomcat 服务器,如评论中所述,您可以通过运行手动启动它

    # catalina.sh start
    

    Tomcat 带有包装脚本以将其作为服务运行。如果它以这种方式安装在您的服务器上,您可以尝试使用启动它

    # sudo service tomcat8 start
    

    查看tomcat running documentation了解更多信息

    【讨论】:

    • 谢谢,明白了。我将保留它以备将来使用,现在我只想重新启动进程而不重新启动远程服务器。我在我的电脑上尝试如果终止进程并手动启动 JRE 可能有效,但不容易找到正确的目录
    • 在杀死之前,您是否通过运行ps -ef | grep java获得了完整路径/更多详细信息?
    • 我在 /usr/lib/java-8-oracle/jre/bin 中找到了可执行文件,但现在我无法复制服务器的相同情况,因为我没有 tomcat作为服务。我认为杀死 java 进程并启动 tomcat 服务可能会起作用,但在服务器上测试它之前我想要安全
    • 如果你的 java 进程是一个 tomcat 服务器,你应该知道 tomcat 带有各种用于停止和启动服务器的脚本。查找tomcat 附带的名为catalina.sh 的脚本。您可以使用catalina.sh start 启动tomcat。请参阅RUNNING.txt 文档(即用于 tomcat 8.5)。如果 tomcat 是使用 debian 包管理器安装的,它可能确实已经可以作为服务使用了。
    • 谢谢,我用过一次这种方式!但我忘记了。在服务器中,我发现 java 进程是一个 jar 的执行,我已经重新启动没有问题:)
    【解决方案2】:

    问题解决了。 我已经验证了java进程是一个jar的执行,所以只需杀死并重新启动它。

    线索是在我的本地电脑中,jre 没有类似守护进程的进程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多