Forked from matthewlmcclure/kill-processes-orphaned-by-jenkins.sh
Created
April 2, 2014 19:26
-
-
Save jeffbeard/9941298 to your computer and use it in GitHub Desktop.
Revisions
-
matthewlmcclure revised this gist
Jan 16, 2014 . 1 changed file with 12 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,17 @@ #! /bin/bash # Kill processes orphaned by Jenkins # Work around Java's use of SIGTERM rather than SIGKILL and # Jenkins's lack of any workaroud in the box. # Suggested usage: # # $ crontab -l # */5 0 0 0 0 /path/to/kill-processes-orphaned-by-jenkins.sh 2>&1 | logger # Tested on Mac OS X (BSD). Probably needs `ps` arguments # ported for Linux (GNU). for url in $(ps -wwEf | grep BUILD_URL | grep -v ' grep' | tr ' ' '\n' | grep BUILD_URL | sort | uniq | awk -F'=' '{ print $2 }') do -
matthewlmcclure created this gist
Jan 16, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,24 @@ #! /bin/bash # Tested on Mac OS X (BSD). Probably needs `ps` arguments ported for Linux (GNU). for url in $(ps -wwEf | grep BUILD_URL | grep -v ' grep' | tr ' ' '\n' | grep BUILD_URL | sort | uniq | awk -F'=' '{ print $2 }') do # Get your API token from # http://<jenkins-host>/user/<user>/configure > Show API # Token... curl -s -u '<user>:<token>' "$url"'/api/json?tree=building' | grep -q true building=$? false=1 if [ $building -eq $false ] then for pid in $(ps -wwEf | grep "$url" | grep -v ' grep' | awk '{ print $2 }') do echo 'Finished job: '"$url" echo 'Killing process orphaned by Jenkins:' ps -f -p $pid echo kill -9 $pid done fi done