# 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 a `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.