2

我正在使用 linux 屏幕配置复杂的 jenkins 作业。要创建一个新屏幕,我运行:

screen -md -S jenkins_job

然后进行其他一些工作,最后破坏我运行的现有屏幕:

screen -S jenkins_job -X quit

但是在 jenkins 中可能会发生脚本会在两者之间的某个地方失败并立即中止。然后屏幕终止命令将不会执行,屏幕将保持活动状态。因此,在工作开始时,我想确保所有屏幕都被销毁。如果我screen -S jenkins_job -X quit在不存在的作业上使用 shell 将返回错误代码,并且 jenkins 脚本也会失败。

有没有办法有条件地销毁屏幕(即如果屏幕存在则销毁屏幕,否则什么都不做)?

4

1 回答 1

4

您可能希望将终止代码放入trap调用中:

trap 'screen -S jenkins_job -X quit' QUIT TERM INT EXIT
于 2013-02-08T11:59:26.780 回答