gradle hook之获取进程pid |编译退出进程

 
 
最近在搞自动化编译  javafx写的GUI 生成脚本跑gradle

 使用 cmd /c gradle assembleRelease跑起来使用的新的进程跑的

如图:PID 5388就是新的编译进程。知道这个PID就可以杀死了,但是如何知道pid就是问题了

在java中获取当然进程pid


              import java.lang.management.*// hook current thread pid 
		final String name_current = ManagementFactory.getRuntimeMXBean().getName();
		int pid=Integer.parseInt(name_current[0..name_current.indexOf("@")-1])


获取的pid就是pid了


在gradle这样写

gradle.taskGraph.beforeTask { Task task ->


	  if (project.ext.PID==0) {
			final String name_current = ManagementFactory.getRuntimeMXBean().getName();
		project.ext.jd_PID=Integer.parseInt(name_current[0..name_current.indexOf("@")-1])
		println "executing PID="+project.ext.PID
		}
}

然后读取流 获得executing PID=XXXX;

这样就获取到编译进程的PID了 然后调用 taskkill /pid pid /f 杀掉集成就行了


 
 

你可能感兴趣的:(gradle hook之获取进程pid |编译退出进程)