Quiero matar el particular proceso Java en Windows, como en Linux (ps -aux para obtener processid y, a continuación, kill processid para matar el proceso).

InformationsquelleAutor Muthu Kumar | 2012-10-23

7 Comentarios

  1. 35

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

    A continuación, utilice el administrador de tareas de Windows para terminar el proceso. Si quieres hacerlo en la línea de comandos, utilice

    TASKKILL /PID %PID%
    • jps herramienta se incluye ahora en JDK/bin directorio. También recomiendo el uso de -l opción, que genera el nombre completo del paquete de la aplicación principal de la clase, que puede ser útil.
    • jps no es parte de la JRE 1.8 en Windows.
  2. 16

    También se puede encontrar el PID de un programa en java con el administrador de tareas. Habilitar la PID y Línea de Comandos columnas View -> Select Columns y luego son capaces de encontrar el proceso adecuado.

    Su resultado será algo como esto :
    Cómo encontrar el id de proceso de la ejecución de un proceso Java en Windows? Y cómo matar el proceso de paz?

    • Su Administrador de Tareas de Windows ventana está en alemán, pero su show completo respuesta: Podemos encontrar java proceso en la lista, entonces tenemos su número de PID y en Command line (aquí en la imagen Befehlszeile) vemos comando completo, que nos ayuda a discriminar la cual java proceso de matar.
    • Para editar la lista de columnas, haga clic derecho en el encabezado de cualquier columna (en la pestaña de Detalles) y elegir Select column opción.
  3. 10

    Después de la configuración de la ruta de su jdk uso JPS.A continuación, puede eaisly matar al Administrador de Tareas
    JPS le dará todos los procesos java

  4. 8

    Esto funcionará incluso cuando hay varias instancias de la jarra está ejecutando

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

    La solución que he encontrado es muy simple. Uso de la Ventana de WMIC & Java en tiempo de ejecución para localizar & matar el proceso.

    Parte 1: que Usted necesita para poner algún tipo de identificador en la aplicación de inicio de la línea de comandos. E. g. algo así como:

    String id = "com.domain.app";

    Parte 2: Cuando se ejecuta la aplicación, asegúrese de incluir la cadena. Digamos que inicia desde dentro de Java, haga lo siguiente:

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

    Parte 3: Para matar el proceso, el uso de la Ventana de WMIC. Sólo asegúrese de que la aplicación se inició contiene su identificador de arriba:

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

    Esto es específico de Windows.
    Yo estaba frente a la misma cuestión, donde tengo que matar a un determinado programa en java utilizando taskkill. Cuando ejecuto el programa java, lista de tareas estaba mostrando el mismo programa con el nombre de la Imagen de conjunto como java.exe.
    Pero matar usando taskkill /F java.exe se detendrá todas las demás aplicaciones java distinto de la intención de uno que no es necesario.

    Por lo que ejecutar el mismo programa en java utilizando:

    start "MyProgramName" java java-program..

    Aquí empiezan comando abrirá una nueva ventana para ejecutar el programa java con el título de la ventana de conjunto a MyProgramName.

    Ahora a matar a este de java-programa, utilice el siguiente comando taskkill:

    taskkill /fi "MyProgramName"

    El programa de Java se mató solo. Resto no se verán afectados.

    • taskkill no funciona: error: filtro de búsqueda no es reconocido (algo al respecto). Pero gracias por start "MyProgramName"

Dejar respuesta

Please enter your comment!
Please enter your name here