Using Hudson 1.224, I still see the issue. Hudson is calling a Cygwin shell
script, which launches SSH, then sleeps a long time (or else Hudson continues to
re-launch the shell script).
In Windows and Cygwin process tree, I see bash.exe, ssh.exe, and sleep.exe
proceses left open by Hudson, even after I stop the Hudson server from the UI,
then kill the Hudson Java process. I double-checked via Process Explorer -
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx , bash.exe,
ssh.exe, and sleep.exe all end up with Parent IDs of 1
To try working around the issue, I tried having SSH script sleep for a long
time, to avoid respawning, but the root cause remains. I think Hudson forks off
sub-processes that become parent-less zombies somehow.
It is similar to the behavior described in
http://www.cygwin.com/ml/cygwin-xfree/2006-12/msg00082.html , whereas someone
proposed a background monitoring process workaround in
Due to above issues, I switched to a Hudson *nix server, and started using the
SSH plugin to avoid the root cause.