Как переименовать java.exe/javaw.exe процесс?

Всегда, когда я запускаю Java-приложение, оно будет отображаться в Windows Task Manager, это java.exe или javaw.exe. Как переименовать java.exe или javaw.exe процесс без оболочки с помощью других языков программирования.

Ответы

Ответ 1

Если вы запутались, посмотрев имена процессов, которые являются одинаковыми (java.exe), попробуйте используйте Process Explorer вместо диспетчера задач и отобразите поле командной строки. Таким образом, вы можете увидеть аргументы класса или jar, которые отличает один процесс от другого.

Ответ 2

Вы можете использовать jSmooth:

JSmooth - это исполняемый Wrapper Java. Он создает собственные пусковые установки Windows (стандартный .exe) для ваших java-приложений.

Ответ 3

Я подозреваю, что операционные системы, как правило, не очень любят процессы, пытающиеся переименовать их "образ". Если бы это было возможно, было бы, например, очень просто, чтобы вирус выдал себя за законный процесс.

Кстати, вы также можете использовать "jps.exe" для перечисления всех процессов Java и соответствующего основного класса. "jps.exe" находится в каталоге bin вашей установки Java.

Ответ 4

Я считаю, что ваш лучший выбор - использовать компилятор с опережением времени, например Excelsior JET для создания исполняемого файла. Как они упоминают, вы также можете использовать пользовательский laucher или wrapper.

Ответ 5

В простом и плохом стиле вы можете скопировать файл java.exe или javaw.exe(выполнить файл) и переименовать его в новое имя процесса.

Ответ 6

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

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

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

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

Ответ 7

Старый поток, но если кто-то все еще удивляется... Если вы используете javapackager с флагами -name MyTestApp -native image, он создаст для вас собственное изображение времени выполнения с исполняемым MyTestApp.exe, и вот как это будет выглядеть в Диспетчер задач со значком по умолчанию:

task_manager_screenshot

Теперь упаковка как самосохраняемое приложение может быть или не быть тем, что вы хотите. Он имеет как преимущества, так и недостатки: https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1307236