[
https://jira.codehaus.org/browse/MSHARED-295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrey Klochkov updated MSHARED-295:
------------------------------------
Attachment: MSHARED-295.patch
Attaching a patch. The idea is to use Sigar
(https://support.hyperic.com/display/SIGAR/Home) as an optional dependency.
It's JNI based library with Apache license. If Sigar classes are present, use
it to walk over child processes and kill them all. Otherwise the default
implementation is used. The patch is not finished - in particular, determining
PID would not work on Windows. What about the idea? The code itself is verified
with Hadoop builds which tend to have the problem of non killed subprocesses.
Checked on OSX and Linux.
> Non reliable killing of processes by CommandLineUtils
> -----------------------------------------------------
>
> Key: MSHARED-295
> URL: https://jira.codehaus.org/browse/MSHARED-295
> Project: Maven Shared Components
> Issue Type: Improvement
> Components: maven-shared-utils
> Reporter: Andrey Klochkov
> Attachments: MSHARED-295.patch
>
>
> CommandLineUtils is used in Maven-Surefire to start forks which execute
> tests. It is a well known issue that sometimes child processes are not killed
> correctly. This is a known limitation of JVM, and the only reliable way to
> implement it would be platform specific.
> Bug report in Surefire JIRA:
> http://jira.codehaus.org/browse/SUREFIRE-773
> JVM bug report. It's Windows specific, but the problem exists on Linux and
> OSX as well.
> http://bugs.sun.com/view_bug.do?bug_id=4770092
> I'm proposing either 1) to implement several platform specific
> implementations of ProcessHook or 2) to make the mechanism of killing
> processes extendable for clients of the library.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira