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



所以我运行这个命令来查找运行我的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

你不需要获取PID,或使用TaskKillWMIC可以直接为你做。

从命令行:

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

在批处理文件中,您需要将百分比字符加倍:

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

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

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

打印输出的结果将是"1932"。

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

相关内容

最新更新