-
New Feature
-
Resolution: Unresolved
-
Minor
-
None
Hi, in JENKINS-17116 it was implemented graceful build termination with SIGTERM.
I see this working in a pipeline `sh` task:
[Pipeline] sh + set +e + trap 'echo I saw TERM' TERM + trap 'echo I saw INT' INT + echo sleeping 600 sleeping 600 ++ seq 600 + for i in '`seq 600`' + sleep 1 ... + for i in '`seq 600`' + sleep 1 Aborted by User Sending interrupt signal to process + for i in '`seq 600`' + sleep 1 Terminated + for i in '`seq 600`' + sleep 1 ++ echo I saw TERM I saw TERM + for i in '`seq 600`' + sleep 1 + for i in '`seq 600`' + sleep 1 + for i in '`seq 600`' ... + for i in '`seq 600`' + sleep 1 Click here to forcibly terminate running steps + for i in '`seq 600`' + sleep 1 + for i in '`seq 600`' + sleep 1 + for i in '`seq 600`' + sleep 1 + for i in '`seq 600`' + sleep 1 + for i in '`seq 600`' + sleep 1 After 20s process did not stop ...
But t doesn't work in free-style:
+ set +e + trap 'echo I saw TERM' TERM + trap 'echo I saw INT' INT + echo sleeping 600 sleeping 600 ++ seq 600 + for i in '`seq 600`' + sleep 1 ... + for i in '`seq 600`' + sleep 1 + for i in '`seq 600`' + sleep 1 Build was aborted Aborted by User Terminated + for i in '`seq 600`' + sleep 1 Finished: ABORTED
The shell code is:
set +e trap "echo I saw TERM" TERM trap "echo I saw INT" INT echo sleeping 600 for i in `seq 600`; do sleep 1; done echo finished sleeping
So I think this needs to be enabled for free-style job as well.
– Jenkins ver. 2.190.3