Class ExecuteOsCommand

  • All Implemented Interfaces:
    java.lang.Runnable, Progress

    public class ExecuteOsCommand
    extends java.lang.Thread
    implements Progress
    Launches an 'OS command' (e.g. "ls", "dir") Note: Launching a system command in Java is not trivial, we need to start 2 threads that read STDOUT and STDERR of the process, otherwise it will block (actually it may even cause a deadlock) References: http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1
    Author:
    pcingola
    • Nested Class Summary

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

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

      Fields 
      Modifier and Type Field Description
      static boolean debug  
      • Fields inherited from class java.lang.Thread

        MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
    • Field Detail

      • debug

        public static boolean debug
    • Constructor Detail

      • ExecuteOsCommand

        public ExecuteOsCommand​(java.lang.String[] args)
      • ExecuteOsCommand

        public ExecuteOsCommand​(java.lang.String command)
    • Method Detail

      • exec

        public int exec()
      • getCommandArgs

        public java.lang.String[] getCommandArgs()
      • getExitValue

        public int getExitValue()
      • getHead

        public java.lang.String getHead()
        First lines of stdout
      • getHeadStderr

        public java.lang.String getHeadStderr()
        First lines of stderr
      • getPwd

        public java.lang.String getPwd()
      • getRedirectStderr

        public java.lang.String getRedirectStderr()
      • getRedirectStdout

        public java.lang.String getRedirectStdout()
      • getStderr

        public java.lang.String getStderr()
      • getStdin

        public java.io.OutputStream getStdin()
      • getStdout

        public java.lang.String getStdout()
      • getStdOutFilter

        public LineFilter getStdOutFilter()
      • isAlertDone

        public boolean isAlertDone()
      • isBinaryStderr

        public boolean isBinaryStderr()
      • isBinaryStdout

        public boolean isBinaryStdout()
      • isExecuting

        public boolean isExecuting()
      • isQuiet

        public boolean isQuiet()
      • isSaveStd

        public boolean isSaveStd()
      • isStarted

        public boolean isStarted()
      • kill

        public void kill()
      • progress

        public void progress()
        Report progress
        Specified by:
        progress in interface Progress
      • resetBuffers

        public void resetBuffers()
      • run

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

        public void setBinaryStderr​(boolean binaryStderr)
      • setBinaryStdout

        public void setBinaryStdout​(boolean binaryStdout)
      • setCommandArgs

        public void setCommandArgs​(java.lang.String[] commandArgs)
      • setObjetcToNotify

        public void setObjetcToNotify​(java.lang.Object objetcToNotify)
      • setPwd

        public void setPwd​(java.lang.String pwd)
      • setQuiet

        public void setQuiet​(boolean quietStdout,
                             boolean quietStderr)
      • setRedirectStderr

        public void setRedirectStderr​(java.lang.String redirectStderr)
      • setRedirectStdout

        public void setRedirectStdout​(java.lang.String redirectStdout)
      • setSaveStd

        public void setSaveStd​(boolean saveStd)
      • setShowExceptions

        public void setShowExceptions​(boolean showExceptions)
      • setStdoutAlert

        public void setStdoutAlert​(java.lang.String alert)
      • setStdoutAlertNotify

        public void setStdoutAlertNotify​(java.lang.Object toBeNotified)
      • setStdOutFilter

        public void setStdOutFilter​(LineFilter stdOutFilter)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Thread