㈠ 在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 窗口的問題。