window编译

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

taskkill是Windows命令行里终止指定程序“进程”的命令。

/f 表示强制终止
/im 表示指定的进程名称,例如“explor.exe"

/pid 表示指定的进程ID进程号

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

参考jenkins的部分代码,发现其使用了如下的工具包,经验证该工具获取的pid和windows任务管理器看到的也不一样,但是通过其关闭方法却可以关闭进程,还没弄清楚这个pid和任务管理器里面看到的pid有什么不同。


            org.jvnet.winp
            winp
            1.28
        

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();
    }

你可能感兴趣的:(window编译)