在屏幕上运行的Java应用程序不会在屏幕退出时终止

时间:2017-06-30 01:12:35

标签: java linux bash

我正在运行一个java应用程序,通过在不同的屏幕会话中启动它们来管理其他Java应用程序。我的问题是,如果其中一个托管应用程序没有响应,我想通过我的管理应用程序杀死它的java进程。

管理应用使用screen -dmS appname java -jar path

启动其他应用

我尝试的第一件事就是让我的管理应用程序运行screen -S name -X quit,但大部分时间这只会消除屏幕会话,我会遇到一个我无法访问的正在运行的Java应用程序。

我试图研究的第二件事是杀死java进程本身,这将反过来终止屏幕,但我的问题是我如何获得java应用程序的PID?

ps -A没有帮助,因为它没有提供我想要杀死所有其他特定java应用程序的任何线索。

我需要PID可用于我的管理应用程序或任何其他方式,使我能够终止在屏幕内运行的java进程。 然而,解决我的问题的最好方法是能够命名java app进程。

我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

当我启动任何托管应用程序时,我通过传递参数来解决问题:

screen -dmS helperApp java -jar path helperApp

这使我能够通过

识别所有其他人的过程的PID

jps -m | grep helperApp

因为我现在已经识别并获得了PID,所以我能够杀死这个过程。

感谢所有帮助过的人。