window編譯

https://www.cnblogs.com/qianjinyan/p/10772540.html

taskkill是Windows命令行里終止指定程序“進(jìn)程”的命令。

/f 表示強(qiáng)制終止
/im 表示指定的進(jìn)程名稱,例如“explor.exe"

/pid 表示指定的進(jìn)程ID進(jìn)程號(hào)

taskkill /f /im javaw.exe
taskkill /f /pid 3352

參考jenkins的部分代碼,發(fā)現(xiàn)其使用了如下的工具包,經(jīng)驗(yàn)證該工具獲取的pid和windows任務(wù)管理器看到的也不一樣,但是通過(guò)其關(guān)閉方法卻可以關(guān)閉進(jìn)程,還沒(méi)弄清楚這個(gè)pid和任務(wù)管理器里面看到的pid有什么不同。

<dependency>
            <groupId>org.jvnet.winp</groupId>
            <artifactId>winp</artifactId>
            <version>1.28</version>
        </dependency>

if (File.pathSeparatorChar == ';' || OSUtil.osEnum == OSEnum.Windows ) {
                WindowsProcessUtil.killRecursively(process, runJobId);
            }

public static void killRecursively(Process process,Long runJobId) {
        String logKey = "killAllChildProcess,runJobId=" + runJobId + ",";
        WinProcess winProcess = new WinProcess(process);
        int rootPid = winProcess.getPid();
        LogUtil.info(logKey + "rootPid=" + rootPid);
        if (rootPid < 1) {
            LogUtil.error(logKey + "rootPid=" + rootPid + ",should not less than 1 ");
            return;
        }
        winProcess.killRecursively();
    }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容