【发布时间】:2021-01-01 10:10:08
【问题描述】:
我有以下命令,但它不工作,我看到进程被自动创建并杀死
BUILD_ID=dontKillMe nohup /Folder1/job1.sh > /Folder2/Job1.log 2>&1 &
Jenkins 输出:
[ssh-agent] Using credentials user1 (private key for user1)
[job1] $ /bin/sh -xe /tmp/jenkins19668363456535073453.sh
+ BUILD_ID=dontKillMe
+ nohup /Folder1/job1.sh
$ ssh-agent -k
unset SSH_AUTH_SOCK;
unset SSH_AGENT_PID;
echo Agent pid 8765 killed;
[ssh-agent] Stopped.
Finished: SUCCESS
【问题讨论】:
-
是 2 个 cmds 吗? 1)
BUILD_ID=dontKillMe(插入换行符或";") 2)nohup ... &?你的“管道步骤”是什么? -
是什么让你认为你的脚本被杀死了?上面的输出只是表明现有的
ssh-agent被杀死,这是选项-k的预期行为。 -
@Alex 触发构建后,我看不到作业正在我的机器上运行。所以这就是输出。我的想法是它(jobs.sh)应该在后台运行。当我使用 ps -ef| grep jobs.sh,我没有看到作业正在运行。这意味着这个 jenkins 作业触发了 Job1.sh 并杀死了它。
-
你能发布
job1.sh的(相关)内容吗?从输出来看,该脚本似乎只是调用了ssh-agent -k,然后正常终止。
标签: jenkins jenkins-pipeline jenkins-plugins jenkins-groovy jenkins-job-dsl