< prev index next >

test/lib/testlibrary/jdk/testlibrary/ProcessTools.java

Print this page




  27 import java.io.InputStream;
  28 import java.io.OutputStream;
  29 import java.io.PrintStream;
  30 import java.lang.management.ManagementFactory;
  31 import java.lang.management.RuntimeMXBean;
  32 import java.lang.reflect.Field;
  33 import java.lang.reflect.Method;
  34 import java.util.ArrayList;
  35 import java.util.Arrays;
  36 import java.util.Collections;
  37 import java.util.concurrent.CountDownLatch;
  38 import java.util.Map;
  39 import java.util.concurrent.ExecutionException;
  40 import java.util.concurrent.Future;
  41 import java.util.concurrent.TimeUnit;
  42 import java.util.concurrent.TimeoutException;
  43 import java.util.function.Predicate;
  44 import java.util.function.Consumer;
  45 import java.util.stream.Collectors;
  46 
  47 import sun.management.VMManagement;
  48 
  49 public final class ProcessTools {
  50     private static final class LineForwarder extends StreamPumper.LinePump {
  51         private final PrintStream ps;
  52         private final String prefix;
  53         LineForwarder(String prefix, PrintStream os) {
  54             this.ps = os;
  55             this.prefix = prefix;
  56         }
  57         @Override
  58         protected void processLine(String line) {
  59             ps.println("[" + prefix + "] " + line);
  60         }
  61     }
  62 
  63     private ProcessTools() {
  64     }
  65 
  66     /**
  67      * <p>Starts a process from its builder.</p>
  68      * <span>The default redirects of STDOUT and STDERR are started</span>




  27 import java.io.InputStream;
  28 import java.io.OutputStream;
  29 import java.io.PrintStream;
  30 import java.lang.management.ManagementFactory;
  31 import java.lang.management.RuntimeMXBean;
  32 import java.lang.reflect.Field;
  33 import java.lang.reflect.Method;
  34 import java.util.ArrayList;
  35 import java.util.Arrays;
  36 import java.util.Collections;
  37 import java.util.concurrent.CountDownLatch;
  38 import java.util.Map;
  39 import java.util.concurrent.ExecutionException;
  40 import java.util.concurrent.Future;
  41 import java.util.concurrent.TimeUnit;
  42 import java.util.concurrent.TimeoutException;
  43 import java.util.function.Predicate;
  44 import java.util.function.Consumer;
  45 import java.util.stream.Collectors;
  46 


  47 public final class ProcessTools {
  48     private static final class LineForwarder extends StreamPumper.LinePump {
  49         private final PrintStream ps;
  50         private final String prefix;
  51         LineForwarder(String prefix, PrintStream os) {
  52             this.ps = os;
  53             this.prefix = prefix;
  54         }
  55         @Override
  56         protected void processLine(String line) {
  57             ps.println("[" + prefix + "] " + line);
  58         }
  59     }
  60 
  61     private ProcessTools() {
  62     }
  63 
  64     /**
  65      * <p>Starts a process from its builder.</p>
  66      * <span>The default redirects of STDOUT and STDERR are started</span>


< prev index next >