# Package org.apache.commons.exec

package org.apache.commons.exec

The main Apache Commons Exec package.

The main classes are `CommandLine` and `DefaultExecutor`.

- Related Packages
  Package
  Description
  org.apache.commons.exec.environment
  Queries the operating system environment.
  org.apache.commons.exec.launcher
  Operating system dependent command launchers are abstracted by the interface `CommandLauncher`.
  org.apache.commons.exec.util
  Gathers utilities.
- Class
  Description
  CommandLine
  CommandLine objects help handling command lines specifying processes to execute.
  DaemonExecutor
  Runs daemon processes asynchronously.
  DaemonExecutor.Builder
  Constructs a new builder.
  DefaultExecuteResultHandler
  A default implementation of 'ExecuteResultHandler' used for asynchronous process handling.
  DefaultExecutor
  The default class to start a subprocess.
  DefaultExecutor.Builder<T extends DefaultExecutor.Builder<T>>
  Constructs a new `DefaultExecutor`.
  ExecuteException
  An exception indicating that the executing a subprocesses failed.
  ExecuteResultHandler
  The callback handlers for the result of asynchronous process execution.
  ExecuteStreamHandler
  Handles stream of subprocesses for `Executor`s.
  ExecuteWatchdog
  Destroys a process running for too long.
  ExecuteWatchdog.Builder
  Builds ExecuteWatchdog instances.
  Executor
  The main abstraction to start an external process.
  InputStreamPumper
  Copies all data from an System.input stream to an output stream of the executed process.
  LogOutputStream
  Base class to connect a logging system to the output and/or error stream of then external process.
  OS
  Condition that tests the OS type.
  ProcessDestroyer
  Destroys all registered `Process` after a certain event, typically when the VM exits.
  PumpStreamHandler
  Copies standard output and error of sub-processes to standard output and error of the parent process.
  ShutdownHookProcessDestroyer
  Destroys all registered `Process`es when the VM exits.
  StreamPumper
  Copies all data from an input stream to an output stream.
  TimeoutObserver
  Interface for classes that want to be notified by Watchdog.
  Watchdog
  Generalization of `ExecuteWatchdog`.
  Watchdog.Builder
  Builds ExecuteWatchdog instances.