jenkins - linux screen - 仅当存在时才终止(jenkins job)

标签 jenkins kill gnu-screen

我正在使用 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/

相关文章:

oracle - 如何终止连接到我的 oracle 数据库的所有 session ?

PuTTY 中用于 session 管理的 Linux Screen

emacs - "screen"在 ^Z 之后以某种方式取消了我在 emacs 中的箭头键的映射

android - 媒体播放器在广播 Intent 停止后不会停止播放音频文件

linux - 如何打开多个 screen 命名的虚拟终端 session

jenkins - 如何通过Gradle任务使用Jenkins将WAR文件发布到Maven(Nexus)存储库

git - 为 Jenkins 多分支管道中的每个分支设置公共(public)构建参数

jenkins - 作业导入插件不导入文件夹

jenkins - Jenkins Kubernetes插件产生一个奴隶

Java : How to stop a Thread that's calling a succession of C++ functions using a JNI function?