我在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之类的东西,或者只是将应用程序写入心跳日志并进行监视。