我在RHEL机器上运行了一个自定义Java应用程序。我从附加了所有参数和选项的bash exec脚本运行此Java应用程序。结果,我的Java应用程序在系统进程中得到了一个通用名称“ java”,这对我没有用,因为我想对此进程进行监视(知道它何时崩溃),并且该名称不是唯一的,以及我可能希望部署另一个类似的Java应用程序,因此我将无法区分它们。

如何给我的Java应用程序指定特定的唯一名称?

下面的例子...

pid_no user      20   0  other_info java
pid_no user      20   0  other_info java
pid_no user      20   0  other_info java


理想情况下,我希望拥有...

pid_no user      20   0  other_info my_app1
pid_no user      20   0  other_info my_app2
pid_no user      20   0  other_info my_app3


先感谢您。

最佳答案

看来您可能有两个相对简单的选择-


使用您的“所需”应用程序名称创建到Java的软链接,并使用该名称启动您的应用程序


例如:

ln -s /usr/bin/java /usr/bin/yourApp
/usr/bin/yourApp {options} YourApp.class
ps -ef |grep yourApp



在启动时将一个虚拟参数传递给您的应用程序,以标识您的应用程序。


例如:

java {options} -DyourApp="yourApp" YourApp.class
ps -ef |grep yourApp


如果您的目标是监视应用程序,请考虑使用jvmtop之类的东西,或者只是将应用程序写入心跳日志并进行监视。

10-08 06:52
查看更多