X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fcommons%2Fcontroller-maven-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmaven%2Fplugin%2Futil%2FProcessMonitor.java;fp=opendaylight%2Fcommons%2Fcontroller-maven-plugin%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmaven%2Fplugin%2Futil%2FProcessMonitor.java;h=0000000000000000000000000000000000000000;hb=2b7a9155e28c3a42765f1f05320357dbb2e6eab7;hp=5c3c69fd59c763e20f8f78f3d720a3c04426da30;hpb=effdf86b58e39060b75e6090596b123ec6e8ef69;p=controller.git diff --git a/opendaylight/commons/controller-maven-plugin/src/main/java/org/opendaylight/controller/maven/plugin/util/ProcessMonitor.java b/opendaylight/commons/controller-maven-plugin/src/main/java/org/opendaylight/controller/maven/plugin/util/ProcessMonitor.java deleted file mode 100644 index 5c3c69fd59..0000000000 --- a/opendaylight/commons/controller-maven-plugin/src/main/java/org/opendaylight/controller/maven/plugin/util/ProcessMonitor.java +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ - -package org.opendaylight.controller.maven.plugin.util; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -public class ProcessMonitor { - public static final String SEP = File.pathSeparator; - public static final boolean WIN = - System.getProperty("os.name").toLowerCase().indexOf("windows") > -1; - - - - public void log(String msg) { - System.out.println("" + msg); - } - - public List getProcesses() { - return Collections.emptyList(); - } - - public List getProcesses(String mainClass, String systemPropertyKey) { - List result = new ArrayList(); - for (JavaProcess info : getProcesses()) { - if (info.getMainClass().equals(mainClass)) { - if (info.getSystemProperties().containsKey(systemPropertyKey)) { - result.add(info); - } - } - } - return result; - } - - public int kill(String mainClass) { - for (JavaProcess info : getProcesses()) { - if (info.getMainClass().equals(mainClass)) { - log("Killing process matching class: " + mainClass); - return kill(info.getPid()); - } - } - return -1; - } - - public static int kill(int pid) { - String cmd = WIN ? "TASKKILL /F /PID " + pid : "kill -SIGTERM " + pid; - try { - Process p = Runtime.getRuntime().exec(cmd); - p.waitFor(); - return p.exitValue(); - } catch (Exception e) { - e.printStackTrace(); - return -1; - } - } - - public static ProcessMonitor load() { - // load the providers dynamically to allow error handling - ProcessMonitor pm = load("org.opendaylight.controller.maven.plugin.util.VMProcessMonitor"); - if (pm == null) { - pm = load("org.opendaylight.controller.maven.plugin.util.JpsProcessMonitor"); - } - return (pm == null ? new ProcessMonitor() : pm); - } - - private static ProcessMonitor load(String clz) { - try { - Class c = Class.forName(clz); - return (ProcessMonitor) c.newInstance(); - } catch (Exception e) { - e.printStackTrace(); - return null; - } - } - - // simple driver for basic manual testing - public static void main(String[] args) throws Exception { - ProcessMonitor pm = ProcessMonitor.load(); - System.out.println("==== " + pm); - for (JavaProcess info : pm.getProcesses()) { - System.out.println(info.toString()); - } - pm.kill("Foo"); - System.out.println("==== controller processses "); - for (JavaProcess info : pm.getProcesses( - "org.eclipse.equinox.launcher.Main", "opendaylight.controller")) - { - System.out.println(info.toString()); - pm.kill(info.getPid()); - } - } - -}