Как я могу дать своему Java-приложению уникальное имя процесса? - PullRequest
18 голосов
/ 20 июля 2009

Я заметил, что когда я запускаю Netbeans, он отображается в диспетчере задач как netbeans.exe, так как все мои собственные приложения Java отображаются как java.exe или javaw.exe.

Как я могу изменить это, чтобы мои имена процессов отображались как myapp.exe?

Ответы [ 6 ]

18 голосов
/ 20 июля 2009

Имя процесса - это имя JVM. Поэтому, если вы переименуете jvm, у вас будет другое имя процесса. Есть несколько инструментов, которые могут сделать это для вас. Например Launch4J

9 голосов
/ 20 июля 2009

IMO лучший вариант - выбрать один из множества пусковых программ с открытым исходным кодом. Все они предоставляют более удобный контейнер для развертывания, чем java.exe и командный файл.

Я собрал их список после краткого поиска в Google (без определенного порядка и, возможно, не является исчерпывающим):

(полное раскрытие: я работаю на winrun4j)

8 голосов
/ 20 июля 2009

не легко. Самый простой способ (но не очень хороший!) - просто скопировать java.exe (всего 68k в моей системе, так что, возможно, практично!)

Если вас беспокоит определение того, какой процесс Java является каким (например, один потребляет память / ЦП и т. Д.), Используйте стандартный инструмент jps для идентификации процессов Java

5 голосов
/ 20 июля 2009

Netbeans и Eclipse поставляются с файлом .exe, который по очереди запускает JVM. Exe itaself, вероятно, ничего не делает после запуска виртуальной машины. Я подозреваю, что вы также видите NetBeans javaw.exe в диспетчере задач.

Таким образом, вам нужно написать собственный exe-файл (с помощью некоторого инструмента для Windows), который делает похожую вещь.

1 голос
/ 08 января 2014

Существует в основном 2 подхода: один из них уже описан: использование таких инструментов, как Launch4j, WinRun4J, для создания собственных средств запуска Windows.

Другим подходом, который кажется более подходящим, является использование Apache Procrun для упаковки java-приложения в качестве службы Windows. В процессе установки службы мы можем дать процессу осмысленное имя, например OurApp.exe.

Все, что нам нужно сделать, это переименовать prunsrv.exe в OurApp.exe и заменить каждое вхождение prunsrv.exe в нашей установке | start | stop | удалить служебные сценарии в MyApp.exe.

Подробнее с Использование Apache Procrun для переименования имени процесса Java-программы в Windows

1 голос
/ 21 июля 2009

Только что ответил на это секунду назад: Как заставить JVM увеличить потребность в памяти по мере необходимости до предела размера виртуальной машины?

Это на самом деле много проще, чем говорят люди (но вы должны иметь под рукой компилятор c / c ++).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...