tipos threads thread que paralelo para metodos los importancia hilos ejecutar crea conceptos como basicos java windows process-management

que - threads hilos java



¿Cómo encontrar el ID de proceso de un proceso Java en ejecución en Windows? ¿Y cómo matar el proceso solo? (7)

Quiero eliminar el proceso de Java en particular en Windows, como en Linux ( ps -aux para obtener processid y luego kill processid para ps -aux el proceso).


Después de configurar la ruta de su jdk, use JPS Luego puede eliminarlo fácilmente con el Administrador de tareas
JPS te dará todos los procesos java.


En Windows XP y versiones posteriores, hay un comando: lista de tareas que enumera todos los identificadores de proceso.

Para matar un proceso en Windows, vea:

Realmente matando un proceso en Windows | Desbordamiento de pila

Puede ejecutar comandos de SO en Java por:

Runtime.getRuntime().exec("your command here");

Si necesita manejar la salida de un comando, vea el ejemplo: usar Runtime.exec () en Java


Esto es específico de Windows. Me enfrentaba al mismo problema en el que tengo que matar un programa Java específico usando taskkill. Cuando ejecuté el programa java, la lista de tareas mostraba el mismo programa con el 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 previstas, lo que no es necesario.

Entonces ejecuto el mismo programa java usando:

start "MyProgramName" java java-program..

Aquí el comando de inicio abrirá una nueva ventana y ejecutará el programa java con el título de la ventana establecido en MyProgramName.

Ahora para matar este programa java usa el siguiente comando taskkill:

taskkill /fi "MyProgramName"

Tu programa de Java será matado solamente. El descanso no se verá afectado.


Esto funcionará incluso cuando hay varias instancias de jar ejecutándose

wmic Path win32_process Where "CommandLine Like ''%yourname.jar%''" Call Terminate


La solución que encontré es muy simple. Use WMIC de Windows y Runtime de Java para localizar y eliminar el proceso.

Parte 1: debe colocar algún tipo de identificador en la línea de comandos de inicio de su aplicación. Por ejemplo, algo como:

String id = "com.domain.app";

Parte 2: cuando ejecute su aplicación, asegúrese de incluir la cadena. Digamos que lo inicia desde Java, haga lo siguiente:

Runtime.getRuntime().exec( "C:/.../javaw.exe -cp ... -Dwhatever=" + id + " com.domain.app.Main" );

Parte 3: Para finalizar el proceso, use el WMIC de Windows. Solo asegúrate de que la aplicación haya comenzado con tu ID desde arriba:

Runtime.getRuntime().exec( "wmic process Where /"CommandLine Like ''%" + id + "%''/" Call Terminate" );


Puede usar la utilidad jps que se incluye en el JRE para encontrar el ID de proceso de un proceso Java. La salida le mostrará el nombre del archivo JAR ejecutable o el nombre de la clase principal.

Luego use el administrador de tareas de Windows para terminar el proceso. Si quieres hacerlo en la línea de comandos, usa

TASKKILL /PID %PID%


También puede encontrar el PID de un programa java con el administrador de tareas. Habilita la View -> Select Columns columnas PID y línea de comando View -> Select Columns y luego puede encontrar el proceso correcto.

Su resultado será algo como esto: