Class Spawner


  • public class Spawner
    extends Process
    • Field Summary

      Fields 
      Modifier and Type Field Description
      int CTRLC
      Deprecated, for removal: This API element is subject to removal in a future version.
      int HUP
      Deprecated, for removal: This API element is subject to removal in a future version.
      int INT
      Deprecated, for removal: This API element is subject to removal in a future version.
      int KILL
      Deprecated, for removal: This API element is subject to removal in a future version.
      int NOOP
      Deprecated, for removal: This API element is subject to removal in a future version.
      int TERM
      Deprecated, for removal: This API element is subject to removal in a future version.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Spawner​(String command)
      Deprecated.
      Do not use this method it splits command line arguments on whitespace with no regard to quoting rules.
      protected Spawner​(String[] cmdarray)
      Executes the specified command and arguments in a separate process.
      protected Spawner​(String[] cmdarray, int gracefulExitTimeMs)  
      protected Spawner​(String[] cmdarray, String[] envp)
      Executes the specified command and arguments in a separate process with the specified environment.
      protected Spawner​(String[] cmdarray, String[] envp, int gracefulExitTimeMs)  
      protected Spawner​(String[] cmdarray, String[] envp, File dir)  
      protected Spawner​(String[] cmdarray, String[] envp, File dir, int gracefulExitTimeMs)
      Executes the specified command and arguments in a separate process with the specified environment and working directory.
      protected Spawner​(String[] cmdarray, String[] envp, File dir, PTY pty)  
      protected Spawner​(String[] cmdarray, String[] envp, File dir, PTY pty, int gracefulExitTimeMs)  
        Spawner​(String command, boolean bNoRedirect)
      Deprecated.
      Do not use this method it splits command line arguments on whitespace with no regard to quoting rules.
      protected Spawner​(String cmd, String[] envp)
      Deprecated.
      Do not use this method it splits command line arguments on whitespace with no regard to quoting rules.
      protected Spawner​(String command, String[] envp, File dir)
      Deprecated.
      Do not use this method it splits command line arguments on whitespace with no regard to quoting rules.
    • Field Detail

      • NOOP

        @Deprecated(forRemoval=true)
        public int NOOP
        Deprecated, for removal: This API element is subject to removal in a future version.
      • HUP

        @Deprecated(forRemoval=true)
        public int HUP
        Deprecated, for removal: This API element is subject to removal in a future version.
      • KILL

        @Deprecated(forRemoval=true)
        public int KILL
        Deprecated, for removal: This API element is subject to removal in a future version.
      • TERM

        @Deprecated(forRemoval=true)
        public int TERM
        Deprecated, for removal: This API element is subject to removal in a future version.
      • INT

        @Deprecated(forRemoval=true)
        public int INT
        Deprecated, for removal: This API element is subject to removal in a future version.
      • CTRLC

        @Deprecated(forRemoval=true)
        public int CTRLC
        Deprecated, for removal: This API element is subject to removal in a future version.
        Since:
        5.2
    • Constructor Detail

      • Spawner

        @Deprecated
        public Spawner​(String command,
                       boolean bNoRedirect)
                throws IOException
        Deprecated.
        Do not use this method it splits command line arguments on whitespace with no regard to quoting rules. See Bug 573677
        Throws:
        IOException
      • Spawner

        protected Spawner​(String[] cmdarray,
                          String[] envp,
                          File dir,
                          int gracefulExitTimeMs)
                   throws IOException
        Executes the specified command and arguments in a separate process with the specified environment and working directory.
        Throws:
        IOException
        Since:
        6.2
      • Spawner

        @Deprecated
        protected Spawner​(String command)
                   throws IOException
        Deprecated.
        Do not use this method it splits command line arguments on whitespace with no regard to quoting rules. See Bug 573677
        Executes the specified string command in a separate process.
        Throws:
        IOException
      • Spawner

        protected Spawner​(String[] cmdarray)
                   throws IOException
        Executes the specified command and arguments in a separate process.
        Throws:
        IOException
      • Spawner

        protected Spawner​(String[] cmdarray,
                          String[] envp)
                   throws IOException
        Executes the specified command and arguments in a separate process with the specified environment.
        Throws:
        IOException
      • Spawner

        @Deprecated
        protected Spawner​(String cmd,
                          String[] envp)
                   throws IOException
        Deprecated.
        Do not use this method it splits command line arguments on whitespace with no regard to quoting rules. See Bug 573677
        Executes the specified string command in a separate process with the specified environment.
        Throws:
        IOException
      • Spawner

        @Deprecated
        protected Spawner​(String command,
                          String[] envp,
                          File dir)
                   throws IOException
        Deprecated.
        Do not use this method it splits command line arguments on whitespace with no regard to quoting rules. See Bug 573677
        Executes the specified string command in a separate process with the specified environment and working directory.
        Throws:
        IOException
    • Method Detail

      • getInputStream

        public InputStream getInputStream()
        See java.lang.Process#getInputStream (); The client is responsible for closing the stream explicitly.
        Specified by:
        getInputStream in class Process
      • getOutputStream

        public OutputStream getOutputStream()
        See java.lang.Process#getOutputStream (); The client is responsible for closing the stream explicitly.
        Specified by:
        getOutputStream in class Process
      • getErrorStream

        public InputStream getErrorStream()
        See java.lang.Process#getErrorStream (); The client is responsible for closing the stream explicitly.
        Specified by:
        getErrorStream in class Process
      • exitValue

        public int exitValue()
        See java.lang.Process#exitValue ();
        Specified by:
        exitValue in class Process
      • destroy

        public void destroy()
        See java.lang.Process#destroy (); Clients are responsible for explicitly closing any streams that they have requested through getErrorStream(), getInputStream() or getOutputStream()
        Specified by:
        destroy in class Process
      • pid

        public long pid()
        Overrides:
        pid in class Process
      • interrupt

        public int interrupt()
        On Windows, interrupt the spawned program by using Cygwin's utility 'kill -SIGINT' if it's a Cgywin program, otherwise send it a CTRL-C. If Cygwin's 'kill' command is not available, send a CTRL-C. On linux, interrupt it by raising a SIGINT.
      • interruptCTRLC

        public int interruptCTRLC()
        On Windows, interrupt the spawned program by send it a CTRL-C (even if it's a Cygwin program). On linux, interrupt it by raising a SIGINT.
        Since:
        5.2
      • hangup

        public int hangup()
      • kill

        public int kill()
      • terminate

        public int terminate()
      • isRunning

        public boolean isRunning()
      • exec2

        public int exec2​(String[] cmdarray,
                         String[] envp,
                         String dir,
                         Spawner.IChannel[] chan,
                         String slaveName,
                         int masterFD,
                         boolean console)
                  throws IOException
        Native method when executing with a terminal emulation.
        Throws:
        IOException
        Restriction:
        This method is not intended to be referenced by clients.
      • raise

        public int raise​(int processID,
                         int sig)
        Native method to drop a signal on the process with pid.
      • raise

        public int raise​(int sig)
        Since:
        6.2
      • waitFor

        public int waitFor​(int processID)
        Native method to wait(3) for process to terminate.
        Restriction:
        This method is not intended to be referenced by clients.