2009-07-20 2 views
16

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

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

+0

Я задал подобный вопрос: http://stackoverflow.com/questions/1057247/how-can-i-set-the-process-name-for-a-java-program – Mnementh

ответ

17

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

5

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

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

+0

Я считаю, что javaw.exe также является закладом запуска Eclipse. –

7

Не легко. Самый простой способ (но не приятно!) Было бы просто скопировать java.exe (только 68 тыс. На мою систему, так что, возможно, практично!)

Если вы беспокоитесь о том, какой процесс java есть (например, один потребляющая память/процессор и т. д.), используйте стандартный инструмент jps для идентификации процессов Java

+0

Я сделал это с помощью java.exe, который я использую для запуска eclipse, - тогда я могу легко определить, затмевает ли eclipse ресурсы или мою программу. – RodeoClown

+0

Один экземпляр java.exe. Но как изменить имя процесса? – Yster

+0

Возможно, скопируйте java.exe в myjava.exe (для стартеров ...) –

9

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

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

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

+0

winRun4j - доступен как плагин для eclipse и очень прост в обращении. Также попробовал launch4j его хороший, но не могу изменить имя myApp.exe через него. Хотя спасибо за работоспособный отсортированный список пусковых установок с открытым исходным кодом. –

+0

WunRun4J и JSmooth, похоже, больше не поддерживаются –

0

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

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

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

Смотреть больше от Using Apache Procrun to Rename Process Name of a Java Program in Windows