2008-11-05 21 views
14

Siempre cuando ejecuto la aplicación Java que se mostrará en el Administrador de tareas de Windows es java.exe o javaw.exe. Cómo cambiar el nombre del proceso java.exe o javaw.exe sin envoltorio por otros lenguajes de programación.¿Cómo cambiar el nombre del proceso java.exe/javaw.exe?

+0

¿Por qué quieres? –

+0

Fácil de identificar cuando se ejecutan muchas aplicaciones java en el mismo tiempo –

+0

Aunque suene genial, si ejecutara java Foo y java Bar desde la línea de comandos, ¿no estarían ejecutándose en la misma JVM y por lo tanto en el mismo java.exe? – SCdF

Respuesta

14

Si usted está confundido mirando los nombres de procesos que son todos del mismo (java.exe ), tratan de uso Process Explorer en lugar de Administrador de tareas, y mostrar la línea de comandos campo. De esta forma, puede ver los argumentos clase o jar que diferencian un proceso de otro.

+0

¡Guau! Buena recomendación –

+1

La columna de línea de comandos está disponible en el Administrador de tareas normal – Zzirconium

3

Creo que su mejor opción es utilizar un compilador adelantado como Excelsior JET para producir un ejecutable. Como they mention, también puede usar una laucher o envoltura personalizada.

+0

El segundo enlace tiene una conveniente lista de contenedores ejecutables Java libres y no libres. –

7

Usted podría utilizar jSmooth:

JSmooth es un ejecutable de Java Wrapper. Crea lanzadores nativos de Windows (.exe estándar) para sus aplicaciones Java.

+1

+1 ¡Solución real a un problema real! – Ramon

+0

Es solo un contenedor para el contenedor subyacente, que aún está cargado en una JVM. – Mordechai

3

De manera fácil y mal estilo, puede copiar java.exe o javaw.exe (ejecutar archivo) y cambiar el nombre al nuevo nombre de proceso que desee.

+1

tan fácil y tan malo :) – karlipoppins

5

Sospecho que los sistemas operativos generalmente no son muy aficionados a los procesos que intentan cambiar el nombre de su "imagen". Si esto fuera posible, sería muy fácil para un virus suplantar un proceso legítimo.

Por cierto, también puede usar "jps.exe" para enumerar todos los procesos de Java y su clase principal correspondiente. "jps.exe" se encuentra en el directorio bin de su instalación Java.

0

Existen principalmente 2 enfoques: uno es como otros describen: usando Launch4j, WinRun4J para crear lanzadores nativos de Windows.

Otro enfoque que parece mejor es utilizar Apache Procrun para envolver la aplicación Java como un servicio de Windows. Durante el proceso de instalación del servicio, podemos darle al proceso un nombre significativo como OurApp.exe.

Todo lo que necesitamos hacer es cambiar el nombre de prunsrv.exe a OurApp.exe y reemplazar cada aparición de prunsrv.exe en nuestra instalación | start | stop | desinstalar scripts de servicio en MyApp.exe.

Ver más de Using Apache Procrun to Rename Process Name of a Java Program in Windows

0

hilo viejo, pero si alguien todavía se pregunta ... Si utiliza el javapackager con las banderas -name MyTestApp -native image que va a generar una imagen en tiempo de ejecución nativo con el ejecutable MyTestApp.exe para usted y esta es la forma en que se se ven como en el administrador de tareas con el icono predeterminado:

task_manager_screenshot

Ahora, envasado como una aplicación autosuficiente puede o no ser lo que quieres. Tiene ventajas y desventajas: https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1307236

Cuestiones relacionadas