我正在使用 Linux screen 配置复杂的 Jenkins 作业。要创建一个新 screen ,我运行:
screen -md -S jenkins_job
然后进行一些其他工作,最后销毁我运行的现有 screen :
screen -S jenkins_job -X quit
但是在 Jenkins 中,脚本可能会在中间的某个地方失败并立即中止。然后 screen 终止命令将不会被执行并且 screen 将保持事件状态。因此,在工作开始时,我想确保所有 screen 都被销毁。如果我在不存在的作业 shell 上使用 screen -S jenkins_job -X quit 将会返回错误代码,并且 jenkins 脚本也会失败。
是否有任何方法可以有条件地销毁 screen (即销毁 screen (如果存在),否则不执行任何操作)?
最佳答案
您可能希望将终止代码放入 trap
调用中:
trap 'screen -S jenkins_job -X quit' QUIT TERM INT EXIT
关于jenkins - linux screen - 仅当存在时才终止(jenkins job),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14772007/