Al ejecutar una aplicación Java, el nombre del proceso que se le asigna suele ser java.exe
o javaw.exe
. Pero, ¿cómo puedo hacer que se llame por el nombre de mi aplicación?cómo cambiar el nombre de un proceso de aplicación Java?
Respuesta
Consulte launch4j, es un contenedor ejecutable que le permite asignar nombres ejecutables.
La característica se ha eliminado en 2013: Cambios en la versión 3.1.0-beta2 (20-08-2013) Se ha eliminado la función de nombre de proceso personalizado que no era compatible con las versiones más nuevas de Windows. –
Es cierto que launch4j ya no le permite cambiar el nombre del proceso javaw.exe. Sin embargo, si crea el archivo launch4j exe con la opción stayalive = true, el nombre del proceso para su archivo exe personalizado permanecerá en la lista de procesos además del proceso javaw.exe. Entonces, esto le da a los usuarios la opción de matar el proceso java correcto matando el proceso con su nombre personalizado. – Enwired
Sí, probado en Windows 10. Cuando es cierto, el nombre de la aplicación y su logotipo estarán en el administrador de tareas. Pero el problema es que si elimino la aplicación por su nombre personalizado, no mata la aplicación. – insyncim64
A menos que ejecute Java a través de JNI en su propio ejecutable personalizado, el nombre del proceso siempre será java.exe.
Existen varios lanzadores/envoltorios Java que pueden generar este ejecutable por usted.
... incluso si tuviera que renombrar * java.exe *? – SamB
Si está utilizando el JDK de Sun, se puede también use la herramienta de línea de comandos "jps" para obtener una lista detallada de los procesos de Java que se ejecutan en el cuadro.
Estos métodos son adecuados para servidores con una gran cantidad de procesos Java en ejecución, y donde necesita una forma rápida de encontrar el JVM correcto (sin usar jps). Para aplicaciones, supongo que launch4j u otro contenedor es el camino a seguir .
en UNIX, Si está iniciando desde un sript cáscara (al menos para bash y posiblemente para otros proyectiles decente) que puede utilizar:
exec -a goodname java ...
para lanzar java
y pasar "goodname" como el argumento 0th , que se mostrará como el nombre del proceso en ps
etc.
Una mejor alternativa (que parece funcionar también para top
) es crear un enlace simbólico: ln -s /usr/bin/java /usr/local/bin/kallekula
.
Los accesos directos en las ventanas no funcionarán, pero Windows Vista/7 admite los enlaces simbólicos usando mklink
. Eso puede funcionar, pero no lo he probado. No estoy seguro si exec -a
también funciona con cygwin bash en Windows.
Suponiendo que lo que realmente después es una manera de poner fin a la correcta el proceso correcto más adelante, a continuación, una solución alternativa es la siguiente:
Run ps -ef | grep java
y se debe obtener una lista que se ve algo como esto:
mruser 7518 7505 4 11:37 pts/3 00:00:00 /usr/bin/java -classpath MRD3030_Linked.jar peralex.MyApp
Entonces pkill -f peralex.MyApp
matará el proceso correcto.
Tenga en cuenta que eso solo funciona si el sistema no trunca la línea de comando/recordado /. Tanto Linux como Solaris tienen límites en la longitud de la línea de comando que se recuerda (independiente del máximo que se acepta), y usted fácilmente lo supera con una ruta de clase larga. – ankon
No todos los sabores de exec admiten la marca -a. Si el tuyo no lo hace, el programa argv0 hace algo similar.
Esto es específico de Windows.
Estaba enfrentando el mismo problema donde tengo que matar el programa específico de Java usando taskkill.Cuando ejecuto el programa java, lista de tareas mostraba el mismo programa con nombre de imagen establecido como java.exe. Pero matarlo usando taskkill/F java.exe detendrá todas las demás aplicaciones Java que no sean las deseadas y que no son necesarias.
Así que ejecutar el mismo programa Java usando:
inicio "MyProgramName" java-programa Java ..
Aquí empezar comando se abrirá una nueva ventana y ejecutar el programa Java con el título de la ventana establecido en MyProgramName.
Ahora para este Kil-java programa utilice el siguiente comando taskkill:
taskkill/fi "MyProgramName"
Su programa Java se mató solamente. El descanso no se verá afectado.
Usted puede hacer esto con un LD_PRELOAD
cuña: https://github.com/airlift/procname
La cuña llamadas con sólo la específica de Linux prctl()
cuando el proceso comienza:
static void __attribute__ ((constructor)) procname_init()
{
prctl(PR_SET_NAME, "myname");
}
La llamada tiene que ocurrir en el hilo principal, por lo no es posible hacer esto desde Java o incluso con un agente JVMTI, ya que estos ocurren en un hilo diferente.
¡Buena solución! Pero solo Linux. –
- 1. Cómo cambiar/asignar el nombre de proceso de java .jar
- 2. ¿Cómo cambiar el nombre del proceso java.exe/javaw.exe?
- 3. Cambiar el nombre del proceso en Linux
- 4. Emacs: ¿puedo cambiar el nombre de un proceso iniciado?
- 5. ¿Cambiar el nombre del proceso en C#?
- 6. ¿Cómo puedo darle a mi aplicación Java un nombre de proceso único?
- 7. ¿Cómo obtener el nombre del proceso de una aplicación?
- 8. Cambiar el nombre de subprocesos en Java
- 9. iPhone Cambiar el nombre de la aplicación
- 10. Cómo cambiar el nombre de la aplicación de Android
- 11. Cómo cambiar el nombre de la aplicación de iPhone 100%!
- 12. Cambiar el nombre de un archivo con Java
- 13. ¿Cómo cambiar el nombre de un directorio?
- 14. Cambiar el nombre de un archivo sin utilizar renameTo() - Java
- 15. Cambiar el valor "nombre" de un applet Java firmado
- 16. Cómo cambiar el nombre de una aplicación Grails existente
- 17. eliminar y cambiar el nombre de un archivo en java
- 18. ¿Cómo cambiar el nombre de tu aplicación en itunesconnect?
- 19. ¿Cómo establecer el nombre de proceso ejecutable de un proyecto?
- 20. cómo cambiar el nombre de tabcontrol
- 21. ¿Cómo puedo cambiar el nombre de un servicio de Windows?
- 22. ¿Cómo cambiar el nombre de un paquete en Symfony?
- 23. ¿Cómo obtener el ID del proceso del nombre del proceso?
- 24. Ejecutar una aplicación Java en un proceso separado
- 25. ¿Cómo obtener el PID de un proceso dando el nombre del proceso en Mac OS X?
- 26. ¿Cómo cambiar el nombre de un archivo en sdcard con la aplicación de Android?
- 27. Cómo cambiar el nombre de un procedimiento de Oracle
- 28. Cambiar el nombre de la aplicación en iTunes Connect
- 29. android, ¿Cómo cambiar el nombre de un archivo?
- 30. cambiar el nombre de la aplicación en la App Store
relacionado: [¿Cómo cambiar argv0 en bash para que el comando aparezca con un nombre diferente en ps?] (Http://stackoverflow.com/questions/3251550/how-to-change-argv0-in-bash-so- command-shows-up-with-different-name-in-ps) – jfs