it-swarm-es.tech

Saber qué proceso Java.exe matar en una máquina Windows

Cuando una aplicación basada en Java) comienza a comportarse mal en una máquina con Windows, desea poder matar el proceso en el administrador de tareas si no puede salir de la aplicación normalmente. La mayoría de las veces, hay más de una aplicación basada en Java Java) que se ejecuta en mi máquina. ¿Existe una mejor manera que simplemente matar aleatoriamente los procesos Java.exe con la esperanza de que finalmente llegue a la aplicación correcta?

EDITAR Gracias a todas las personas que me señalaron al Explorador de procesos de Sysinternal. ¡Exactamente lo que estoy buscando!

46
Peter

Descargar Sysinternal's Process Explorer . Es un administrador de tareas mucho más poderoso que el propio administrador de Windows.

Una de sus características es que puede ver todos los recursos que utiliza cada proceso (como claves de registro, directorios de disco duro, canalizaciones con nombre, etc.). Por lo tanto, examinar los recursos que contiene cada proceso Java.exe puede ayudarlo a determinar cuál desea matar. Por lo general, lo averiguo buscando el que usa un determinado directorio de archivos de registro.

33
Ricardo Reyes

Correr jps -lv que muestra los PID y las líneas de comando de todos los procesos en ejecución Java.

Determine el PID de la tarea que desea matar. Luego use el comando:

taskkill /PID <pid>

para matar el mal comportamiento del proceso.

54
Misha

Si no puede ejecutar una aplicación GUI como ProcessExplorer y está buscando los argumentos de "Línea de comandos" de los procesos, puede usar "wmic" a través de la línea de comandos. Por ejemplo:

wmic PROCESS get Processid,Caption,Commandline

Si desea buscar un proceso específico, puede hacer esto:

wmic PROCESS where "name like '%Java%'" get Processid,Caption,Commandline

El resultado de esto le mostrará todos los argumentos de la línea de comandos de procesos como "Java".

31
Jesse

Usar jps en el JDK le dará más información. Se muestra más información con las opciones -m, -l y -v.

7

Si está utilizando Java 6, intente jvisualvm desde el directorio bin JDK.

6
Bill Michell

¿Has intentado usar Process Explorer de SysInternals? Da una idea mucho mejor de lo que se está ejecutando dentro del proceso. Disponible gratis en línea aquí: http://technet.Microsoft.com/en-us/sysinternals/bb896653.aspx

6
Raithlin

Puede intentar abrir el Administrador de tareas de Windows, ir a la pestaña Aplicaciones, hacer clic con el botón derecho en la aplicación y luego seleccionar "Ir al proceso". Esto resaltará automáticamente el proceso apropiado en la pestaña Procesos.

4
snafu109

En caso de que esté desarrollando software: use un iniciador de Java. Utilicé algunas de mis aplicaciones [Exe4j] [ http://www.ej-technologies.com/products/exe4j/overview.html] y funcionó muy bien. Cuando se inicia la aplicación, aparece como, por ejemplo, "myserverapp.exe" o "myapp" en el administrador de tareas de Windows. También hay otros lanzadores (no los conozco de memoria), algunos de ellos también pueden ser gratuitos.

2
twistedmind

En lugar de usar una herramienta de terceros, también puede adivinar bastante bien mirando todas las columnas en el administrador de tareas si sabe aproximadamente cuáles son los diversos procesos Java en su sistema. Pestaña Procesos, use Ver-> Seleccionar columnas y agregue PID, Tiempo de CPU, VM Tamaño y Número de hilos. Saber aproximadamente lo que está haciendo el proceso debería ayudar a reducirlo.

Por ejemplo, en una aplicación cliente-servidor, es probable que el servidor use más memoria, tenga más subprocesos y haya usado más tiempo de CPU porque ha estado funcionando por más tiempo. Si está matando un proceso porque está atascado, podría simplemente está usando más CPU en este momento.

MAX Java memoria de almacenamiento dinámico generalmente se refleja directamente en VM Size. Por lo tanto, si está utilizando indicadores -Xmx, el proceso con la configuración más grande tendrá una mayor VM Tamaño.

1
TREE

Si la aplicación no responde, Process Explorer es una buena opción.

Si responde, pero no muere, a veces aparece el administrador de tareas y luego mueve otro diálogo sobre el proceso Java) le dará una pista. El Java = el proceso que está tomando ciclos de CPU para volver a dibujar es el que estás buscando.

1
Mikezx6r

Sugeriría descargar Process Explorer de Sysinternals y ver los diferentes procesos Java.exe más de cerca, de esa manera puede tener una mejor idea de cuál matar.

http://technet.Microsoft.com/en-us/sysinternals/bb896653.aspx

Es muy intuitivo y puede encontrar los procesos Java.exe y hacer clic derecho y pasar a sus propiedades, desde allí puede ver su línea de comandos, hora de creación, etc., que pueden ayudarlo a encontrar el proceso que desea eliminar.

Espero eso ayude.

1
Henry B

Usando ProcessExplorer y pasando el cursor sobre el Java proceso mostrará la línea de comando.

1
user6837