使用第三方工具,如 NirCmd,提供了更加强大和灵活的 Windows 操作功能。通过 NirCmd 的 win close 命令,指定关闭具有特定标题的 CMD 窗口。首先需下载并安装 NirCmd,然后编写脚本,使用 nircmd win close title "JavaApp" 来关闭具有指定标题的 CMD 窗口。在 Java 代码中控制进程,通过 Runtime.ge...
在windows使用java-jar的方式运行jar包如何在杀死进程的
在 Windows 环境下使用 java -jar 命令运行 JAR 包时,会开启一个 CMD 窗口作为承载进程。若直接终止 Java 进程,CMD 窗口并不会随之关闭。要实现同时关闭 Java 进程与 CMD 窗口的目标,可采取以下策略:编写批处理文件、利用第三方工具或在 Java 代码中进行控制。
编写批处理文件时,可先启动 Java 应用程序,并记录 CMD 窗口 PID,通过 tasklist 和 findstr 查找具有指定标题的 CMD 窗口 PID,最后使用 taskkill 命令来关闭 Java 进程与 CMD 窗口。示例脚本如下:启动程序并设置窗口标题,使用 tasklist 和 findstr 查找窗口 PID,存储为 cmdPid 变量,使用 taskkill 关闭 Java 进程与 CMD 窗口。
使用第三方工具,如 NirCmd,提供了更加强大和灵活的 Windows 操作功能。通过 NirCmd 的 win close 命令,指定关闭具有特定标题的 CMD 窗口。首先需下载并安装 NirCmd,然后编写脚本,使用 nircmd win close title "JavaApp" 来关闭具有指定标题的 CMD 窗口。
在 Java 代码中控制进程,通过 Runtime.getRuntime().exec 启动进程,添加额外逻辑在需要时关闭相关进程和窗口。示例中,Java 代码启动 CMD 窗口运行 JAR 文件,通过 process.destroy() 方法关闭 CMD 窗口及其子进程。
总结:根据需求选择适当方案,批处理文件和第三方工具适用于自动化和脚本化场景,Java 代码控制适用于在 Java 程序中直接管理进程的场景。正确实施上述任一方案,皆能有效解决关闭 Java 进程时同时关闭 CMD 窗口的问题。2024-08-23