代码之家  ›  专栏  ›  技术社区  ›  CathalMF

分析批处理文件中的可执行控制台输出

  •  0
  • CathalMF  · 技术社区  · 6 年前

    所以我运行这个命令来查找运行我的JAR的java进程。

    wmic.exe process where "name like '%java%'" get processid,commandline | find "myjar.jar"
    

    javaw  -jar "\myjar.jar"  1932
    

    如何解析此输出,以便使用进程id 1932来终止它,方法是:

    TASKKILL /PID 1932
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   Compo    6 年前

    你不应该得到 PID ,或使用 TaskKill , WMIC 可以直接为你做。

    从命令行:

    WMIC Process Where "CommandLine Like '%myjar.jar%'" Call Terminate >Nul 2>&1
    

    @WMIC Process Where "CommandLine Like '%%myjar.jar%%'" Call Terminate >Nul 2>&1
    
        2
  •  0
  •   Igor Kanshyn    6 年前

    这可能是非常原始的实现,但它将为您获取进程号。 请尝试以下代码:

    String output = "javaw  -jar \"\\myjar.jar\"  1932";
    String[] res = output.split("\\s");
    System.out.println(res[res.length-1]);
    

    我假设您知道如何从运行于Java的控制台应用程序获得输出。如果没有,我也可以帮忙。