io.github.vigoo.prox

Provides classes to work with system processes in a type safe way.

Refer to the user guide for more information.

A process to be executed is represented by the Process trait. Once it has finished running the results are in ProcessResult. We call a group of processes attached together a process group, represented by ProcessGroup, its result is described by ProcessGroupResult.

Redirection of input, output and error is enabled by the RedirectableInput, RedirectableOutput and RedirectableError trait for single processes, and the RedirectableErrors trait for process groups.

Processes and process groups are executed by a ProcessRunner, the default implementation is called JVMProcessRunner.

Type members

Classlikes

final case class FailedToDestroy(reason: Throwable) extends ProxError
final case class FailedToDestroyException(reason: Throwable) extends Exception
final case class FailedToQueryState(reason: Throwable) extends ProxError
final case class FailedToQueryStateException(reason: Throwable) extends Exception
final case class FailedToReadProcessOutput(reason: Throwable) extends ProxError
final case class FailedToReadProcessOutputException(reason: Throwable) extends Exception
final case class FailedToStartProcess(reason: Throwable) extends ProxError
final case class FailedToStartProcessException(reason: Throwable) extends Exception
final case class FailedToWaitForExit(reason: Throwable) extends ProxError
final case class FailedToWaitForExitException(reason: Throwable) extends Exception
final case class FailedToWriteProcessInput(reason: Throwable) extends ProxError
final case class FailedToWriteProcessInputException(reason: Throwable) extends Exception
final case class MultipleProxErrors(errors: List[ProxError]) extends ProxError
final case class MultipleProxErrorsException(value: List[ProxError]) extends Exception

Common base trait for processes and process groups, used in constraints in the redirection traits

Common base trait for processes and process groups, used in constraints in the redirection traits

sealed trait ProxError
final case class UnknownProxError(reason: Throwable) extends ProxError
final case class UnknownProxErrorException(reason: Throwable) extends Exception