未验证 提交 d611b6d1 编写于 作者: S StefanSpieker 提交者: GitHub

Removed deprecated ProcessTreeKiller (#4874)

上级 30e46ee8
......@@ -1979,9 +1979,7 @@ public abstract class ProcessTree implements Iterable<OSProcess>, IProcessTree,
* This feature involves some native code, so we are allowing the user to disable this
* in case there's a fatal problem.
*
* <p>
* This property supports two names for a compatibility reason.
*/
public static boolean enabled = !SystemProperties.getBoolean(ProcessTreeKiller.class.getName()+".disable")
&& !SystemProperties.getBoolean(ProcessTree.class.getName()+".disable");
public static boolean enabled = !SystemProperties.getBoolean("hudson.util.ProcessTreeKiller.disable")
&& !SystemProperties.getBoolean(ProcessTree.class.getName()+".disable");
}
/*
* The MIT License
*
* Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package hudson.util;
import hudson.EnvVars;
import hudson.util.ProcessTree.OSProcess;
import java.util.Map;
/**
* Kills a process tree to clean up the mess left by a build.
*
* @author Kohsuke Kawaguchi
* @since 1.201
* @deprecated as of 1.315. Use {@link ProcessTree}.
*/
@Deprecated
public final class ProcessTreeKiller {
/**
* Short for {@code kill(proc,null)}
*
* @deprecated Use {@link OSProcess#killRecursively()}
*/
@Deprecated
public void kill(Process proc) throws InterruptedException {
kill(proc,null);
}
/**
* In addition to what {@link #kill(Process)} does, also tries to
* kill all the daemon processes launched.
*
* <p>
* Kills the given process (like {@link Process#destroy()}
* but also attempts to kill descendant processes created from the given
* process.
*
* <p>
* In addition, optionally perform "search and destroy" based on environment
* variables. In this method, the method is given a
* "model environment variables", which is a list of environment variables
* and their values that are characteristic to the launched process.
* The implementation is expected to find processes
* in the system that inherit these environment variables, and kill
* them all. This is suitable for locating daemon processes
* that cannot be tracked by the regular ancestor/descendant relationship.
*
* <p>
* The implementation is obviously OS-dependent.
*
* @param proc
* Process to be killed recursively. Can be null.
* @param modelEnvVars
* If non-null, search-and-destroy will be performed.
* @deprecated Use {@link ProcessTree#killAll(Map)} and {@link OSProcess#killRecursively()}
*/
@Deprecated
public void kill(Process proc, Map<String, String> modelEnvVars) throws InterruptedException {
ProcessTree pt = ProcessTree.get();
if(proc!=null)
pt.get(proc).killRecursively();
if(modelEnvVars!=null)
pt.killAll(modelEnvVars);
}
/**
* Short for {@code kill(null,modelEnvVars)}
* @deprecated Use {@link ProcessTree#killAll(Map)}
*/
@Deprecated
public void kill(Map<String, String> modelEnvVars) throws InterruptedException {
kill(null,modelEnvVars);
}
/**
* Creates a magic cookie that can be used as the model environment variable
* when we later kill the processes.
*
* @deprecated Use {@link EnvVars#createCookie()}
*/
@Deprecated
public static EnvVars createCookie() {
return EnvVars.createCookie();
}
/**
* Gets the {@link ProcessTreeKiller} suitable for the current system
* that JVM runs in, or in the worst case return the default one
* that's not capable of killing descendants at all.
*/
public static ProcessTreeKiller get() {
return new ProcessTreeKiller();
}
}
......@@ -31,14 +31,14 @@ import org.jvnet.hudson.test.TestExtension;
import com.google.common.collect.ImmutableMap;
public class ProcessTreeKillerTest {
public class ProcessTreeTest {
@Rule
public JenkinsRule j = new JenkinsRule();
private Process process;
@After
public void tearDown() throws Exception {
public void tearDown() {
ProcessTree.vetoersExist = null;
if (null != process)
process.destroy();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册