在shell脚本中捕获hudson上的中止信号?

时间:2013-11-22 05:44:00

标签: hudson

我们如何在hudson上捕获作业的中止信号,以便我可以在中止的情况下执行一些后续步骤(我在hudson上运行一个有后台运行shell脚本的作业)?

1 个答案:

答案 0 :(得分:4)

我和Jenkins一起经历过,而不是哈德森,(Jenkins是哈德森的一个分支)Jenkins通过Sun的JRE java.lang.UnixProcess.destroyProcess在Unix上发送一个SIGTERM,这是通过TerminateProcess API完成的。

JENKINS - Aborting a build

HUDSON - Aborting a build

所以你可以通过这种方式在shell脚本中使用“trap”

#!/bin/bash

getAbort()
{
 echo "Abort detected"
 # other commands here if any...
} 

trap 'getAbort; exit' SIGTERM