Interface ProcessExecutor

All Known Implementing Classes:
DefaultProcessExecutor

@ThreadSafe public interface ProcessExecutor
A facility that provides means for launching an external process, scraping its stdout and stderr in real-time and sending commands by means of its stdin.
Since:
1.39
Author:
Fabrizio Giudici
See Also:
  • Method Details

    • withArguments

      @Nonnull ProcessExecutor withArguments(@Nonnull String... arguments)
      Adds some arguments to pass to the external process.
      Parameters:
      arguments - the arguments
      Returns:
      itself for chaining methods
    • withArgument

      @Nonnull ProcessExecutor withArgument(@Nonnull String argument)
      Adds a single argument to pass to the external process.
      Parameters:
      argument - the argument
      Returns:
      itself for chaining methods
    • start

      @Nonnull ProcessExecutor start() throws IOException
      Starts the external process.
      Returns:
      itself for chaining methods
      Throws:
      IOException - in case of error
    • stop

      void stop()
      Stops the external process.
    • waitForCompletion

      @Nonnull ProcessExecutor waitForCompletion() throws IOException, InterruptedException
      Waits for the termination of the external process.
      Returns:
      itself for chaining methods
      Throws:
      InterruptedException - if the wait has been interrupted
      IOException - in case of I/O error
    • send

      @Nonnull ProcessExecutor send(@Nonnull String string) throws IOException
      Sends a string to the stdin of the running process. If a carriage return is needed, it must be explicitly placed in the string.
      Parameters:
      string - the string to send
      Returns:
      itself for chaining methods
      Throws:
      IOException - in case of I/O error
    • getStdout

      @Nonnull ProcessExecutor.ConsoleOutput getStdout()
      Returns the stdout console.
      Returns:
      the console
    • getStderr

      @Nonnull ProcessExecutor.ConsoleOutput getStderr()
      Returns the stderr console.
      Returns:
      the console