步骤
进入 Manage Jenkins系统管理
然后点击 Script Console
, 然后根据自己需求选择性执行后面的脚本
查看所有进程
bash
Thread.getAllStackTraces().keySet().each() {
t -> println("name:"+t.getName())
}
例如:
bash
name:Thread-90
name:Scheduler-174573182-1
name:Thread-116
name:Thread-110
name:Thread-83
name:org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution [#52]
name:SCMTrigger [#10]
停止特定进程
bash
Thread.getAllStackTraces().keySet().each() {
t -> if (t.getName()=="刚才查出来的某条进程名字" ) { t.interrupt(); }
}
删掉所有进程
bash
Thread.getAllStackTraces().keySet().each() {
t -> t.interrupt();
}
清掉所有排队任务Build Queue
bash
Jenkins.instance.queue.clear()
取消某个指定job
bash
import hudson.model.*
def q = Jenkins.instance.queue
q.items.findAll { it.task.name.startsWith('JobName') }.each { q.cancel(it.task) }
参考
1. [jenkins]僵尸任务&排队任务清理
2. 终止Jenkins队列中某Job的所有排队任务
3. Jenkins: remove old builds with command line