Plugin implements proper termination of Cygwin processes in Jenkins jobs
By default, Jenkins don't terminate Cygwin process trees on timeouts and manual termination of builds on Windows platforms. This is caused by Cygwin architecture, but it is very painful in automation environments, because unterminated processes may modify files and even lock workspace for the future builds. This plugin implements proper termination of Cygwin process trees in Jenkins jobs. See JENKINS-13615 for more info.
|Table of Contents|
Due to the current implementation of Jenkins core, this plugin version works only for processes, which are the children of the parent process being terminated by Jenkins.
- Configure the "Cygwin Process Killer" installation
- Tool's home should point to CYGWIN_HOME (root folder with bin and lib folders)
- %CYGWIN_HOME%\bin must contain uname.exe and bash.exe utilities
- You can use any tool installer. You also can configure local installation via individual node configurations.
- Save and reopen the configuration. Then, go to the "Cygwin process killer" section
- Click on the "Use Cygwin from a tool installation" checkbox
- Select a tool installation from the list
- You can customize process termination scriptscripts. If you have a version for execution with "-ex" flags, please create a pull request ASAP :)
- Extended logging and support of various interpreters
- Automatic definition of used cygwin1.dll
- Support of a graceful process termination (the current version invokes "kill -9")
- "Restore default" script button in the web interface
Version 0.2 (Jan 31, 2018)
- Require Jenkins Core 1.625.3 or above
- Fix issues reported by FindBugs and injected tests
Version 0.1 (10/25/2013)
- Initial version of the plugin