Java-приложение RHEL - конкретное имя вместо общего процесса Java

У меня есть пользовательское приложение Java, работающее на моей машине RHEL. Я запускаю это Java-приложение из сценария bash exec со всеми добавленными параметрами и параметрами. В результате мое 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 

Заранее спасибо.

1 ответ

Решение

Кажется, у вас есть два относительно простых варианта:

  1. Создайте мягкую ссылку на Java с вашим "желаемым" именем приложения и запустите ваше приложение с этим

Например:

ln -s /usr/bin/java /usr/bin/yourApp
/usr/bin/yourApp {options} YourApp.class
ps -ef |grep yourApp
  1. Передайте приложению фиктивный параметр при запуске, который идентифицирует ваше приложение.

Например:

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

Если вашей целью является мониторинг приложения, рассмотрите что-то вроде jvmtop или просто запишите приложение в журнал пульса и следите за этим.

Другие вопросы по тегам