Class CommandMonitor

  • All Implemented Interfaces:
    java.lang.Runnable

    public final class CommandMonitor
    extends java.lang.Thread
    Monitor an external process. Inspired by StreamGobbler from: http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=4 Used to empty the buffers of external commands so they don't lock up.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Field Summary

      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static CommandMonitor newStderrMonitor​(java.lang.Process process)  
      static CommandMonitor newStdoutMonitor​(java.lang.Process process)  
      void run()  
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • newStdoutMonitor

        public static CommandMonitor newStdoutMonitor​(java.lang.Process process)
      • newStderrMonitor

        public static CommandMonitor newStderrMonitor​(java.lang.Process process)
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Overrides:
        run in class java.lang.Thread