Packages

case class ProcessImpl[F[_]](command: String, arguments: List[String], workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String], outputRedirection: OutputRedirection[F], runOutputStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[Unit], errorRedirection: OutputRedirection[F], runErrorStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[Unit], inputRedirection: InputRedirection[F])(implicit concurrent: Concurrent[F]) extends Process[F, Unit, Unit] with RedirectableOutput[F, [β$14$]ProcessImplO[F, β$14$]] with RedirectableError[F, [β$15$]ProcessImplE[F, β$15$]] with RedirectableInput[F, ProcessImplI[F]] with ProcessConfiguration[F, ProcessImpl[F]] with Product with Serializable

Process with no streams bound

Linear Supertypes
Serializable, Product, Equals, ProcessConfiguration[F, ProcessImpl[F]], RedirectableInput[F, ProcessImplI[F]], RedirectableError[F, [β$15$]ProcessImplE[F, β$15$]], RedirectableOutput[F, [β$14$]ProcessImplO[F, β$14$]], Process[F, Unit, Unit], ProcessLike[F], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProcessImpl
  2. Serializable
  3. Product
  4. Equals
  5. ProcessConfiguration
  6. RedirectableInput
  7. RedirectableError
  8. RedirectableOutput
  9. Process
  10. ProcessLike
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ProcessImpl(command: String, arguments: List[String], workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String], outputRedirection: OutputRedirection[F], runOutputStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[Unit], errorRedirection: OutputRedirection[F], runErrorStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[Unit], inputRedirection: InputRedirection[F])(implicit concurrent: Concurrent[F])

Value Members

  1. def !<(stream: Stream[F, Byte]): ProcessImplI[F]

    Feed the process input from a byte stream with flushing per chunks enabled.

    Feed the process input from a byte stream with flushing per chunks enabled.

    An alias for fromStream.

    stream

    Input stream

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  2. def !>(path: Path): ProcessImplE[F, Unit]

    Redirects the error output to a file natively

    Redirects the error output to a file natively

    An alias for errorToFile

    path

    Target file path

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  3. def !>(sink: Pipe[F, Byte, Unit]): ProcessImplE[F, Unit]

    Redirects the error output to a sink.

    Redirects the error output to a sink.

    The process error output type will be Unit. An alias for errorToSink

    sink

    Target sink

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  4. def !>#[O](pipe: Pipe[F, Byte, O])(implicit arg0: Monoid[O]): ProcessImplE[F, O]

    Redirects the error output to a pipe and folds its output with a monoid instance.

    Redirects the error output to a pipe and folds its output with a monoid instance.

    The process error output type will be the same as the pipe's output type. An alias for errorToFoldMonoid

    O

    Output type of the pipe. Must have a monoid instance.

    pipe

    Target pipe

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  5. def !>>(path: Path): ProcessImplE[F, Unit]

    Redirects the error output to a file natively in append mode

    Redirects the error output to a file natively in append mode

    An alias for appendErrorToFile

    path

    Target file path

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  6. def !>?[O](pipe: Pipe[F, Byte, O]): ProcessImplE[F, Vector[O]]

    Redirects the error output to a pipe and collects its output to a vector

    Redirects the error output to a pipe and collects its output to a vector

    The process error output type will be a vector of the pipe's output type. An alias for errorToVector

    O

    Output type of the pipe

    pipe

    Target pipe

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  7. def <(stream: Stream[F, Byte]): ProcessImplI[F]

    Feed the process input from a byte stream.

    Feed the process input from a byte stream.

    An alias for fromStream.

    stream

    Input stream

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  8. def <(path: Path): ProcessImplI[F]

    Feed the process input from a file natively.

    Feed the process input from a file natively.

    An alias for fromFile.

    path

    Path to the file

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  9. def >(path: Path): ProcessImplO[F, Unit]

    Redirects the output to a file natively

    Redirects the output to a file natively

    An alias for toFile

    path

    Target file path

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  10. def >(sink: Pipe[F, Byte, Unit]): ProcessImplO[F, Unit]

    Redirects the output to a sink.

    Redirects the output to a sink.

    The process output type will be Unit. An alias for toSink

    sink

    Target sink

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  11. def >#[O](pipe: Pipe[F, Byte, O])(implicit arg0: Monoid[O]): ProcessImplO[F, O]

    Redirects the output to a pipe and folds its output with a monoid instance.

    Redirects the output to a pipe and folds its output with a monoid instance.

    The process output type will be the same as the pipe's output type. An alias for toFoldMonoid

    O

    Output type of the pipe. Must have a monoid instance.

    pipe

    Target pipe

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  12. def >>(path: Path): ProcessImplO[F, Unit]

    Redirects the output to a file natively in append mode

    Redirects the output to a file natively in append mode

    An alias for appendToFile

    path

    Target file path

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  13. def >?[O](pipe: Pipe[F, Byte, O]): ProcessImplO[F, Vector[O]]

    Redirects the output to a pipe and collects its output to a vector

    Redirects the output to a pipe and collects its output to a vector

    The process output type will be a vector of the pipe's output type. An alias for toVector

    O

    Output type of the pipe

    pipe

    Target pipe

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  14. def appendErrorToFile(path: Path): ProcessImplE[F, Unit]

    Redirects the error output to a file natively in append mode

    Redirects the error output to a file natively in append mode

    An alias for !>>

    path

    Target file path

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  15. def appendToFile(path: Path): ProcessImplO[F, Unit]

    Redirects the output to a file natively in append mode

    Redirects the output to a file natively in append mode

    An alias for >>

    path

    Target file path

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  16. val arguments: List[String]
    Definition Classes
    ProcessImplProcess
  17. val command: String
    Definition Classes
    ProcessImplProcess
  18. implicit val concurrent: Concurrent[F]
  19. def connectError[R <: OutputRedirection[F], RE](target: R)(implicit outputRedirectionType: Aux[F, R, RE]): ProcessImplE[F, RE]

    The low level operation to attach an error output to a process

    The low level operation to attach an error output to a process

    Use one of the other methods of this trait for convenience. This is the place where the output type gets calculated with a helper type class called OutputRedirectionType which implements the type level computation for figuring out E.

    R

    Error output redirection type

    target

    Redirection target

    outputRedirectionType

    Helper for dependent error output type

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    ProcessImplRedirectableError
  20. def connectInput(source: InputRedirection[F]): ProcessImplI[F]

    The low level method to attach an input to a process or process group.

    The low level method to attach an input to a process or process group.

    Use the other methods in this trait for convenience.

    source

    Redirection source

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    ProcessImplRedirectableInput
  21. def connectOutput[R <: OutputRedirection[F], RO](target: R)(implicit outputRedirectionType: Aux[F, R, RO]): ProcessImplO[F, RO]

    The low level operation to attach an output to a process

    The low level operation to attach an output to a process

    Use one of the other methods of this trait for convenience. This is the place where the output type gets calculated with a helper type class called OutputRedirectionType which implements the type level computation for figuring out O.

    R

    Output redirection type

    target

    Redirection target

    outputRedirectionType

    Helper for dependent output type

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    ProcessImplRedirectableOutput
  22. def drainError[O](pipe: Pipe[F, Byte, O]): ProcessImplE[F, Unit]

    Redirects the error output to a pipe and drains it regardless of its output type.

    Redirects the error output to a pipe and drains it regardless of its output type.

    The process error output type will be Unit.

    O

    Output type of the pipe

    pipe

    Target pipe

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  23. def drainOutput[O](pipe: Pipe[F, Byte, O]): ProcessImplO[F, Unit]

    Redirects the output to a pipe and drains it regardless of its output type.

    Redirects the output to a pipe and drains it regardless of its output type.

    The process output type will be Unit.

    O

    Output type of the pipe

    pipe

    Target pipe

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  24. val environmentVariables: Map[String, String]
    Definition Classes
    ProcessImplProcess
  25. val errorRedirection: OutputRedirection[F]
    Definition Classes
    ProcessImplProcess
  26. def errorToFile(path: Path): ProcessImplE[F, Unit]

    Redirects the error output to a file natively

    Redirects the error output to a file natively

    An alias for !>

    path

    Target file path

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  27. def errorToFoldMonoid[O](pipe: Pipe[F, Byte, O])(implicit arg0: Monoid[O]): ProcessImplE[F, O]

    Redirects the error output to a pipe and folds its output with a monoid instance.

    Redirects the error output to a pipe and folds its output with a monoid instance.

    The process error output type will be the same as the pipe's output type. An alias for !>#

    O

    Output type of the pipe. Must have a monoid instance.

    pipe

    Target pipe

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  28. def errorToSink(sink: Pipe[F, Byte, Unit]): ProcessImplE[F, Unit]

    Redirects the error output to a sink.

    Redirects the error output to a sink.

    The process error output type will be Unit. An alias for !>

    sink

    Target sink

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  29. def errorToVector[O](pipe: Pipe[F, Byte, O]): ProcessImplE[F, Vector[O]]

    Redirects the error output to a pipe and collects its output to a vector

    Redirects the error output to a pipe and collects its output to a vector

    The process error output type will be a vector of the pipe's output type. An alias for !>?

    O

    Output type of the pipe

    pipe

    Target pipe

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  30. def foldError[O, R](pipe: Pipe[F, Byte, O], init: R, fn: (R, O) => R): ProcessImplE[F, R]

    Redirects the error output to a pipe and folds it with a custom function.

    Redirects the error output to a pipe and folds it with a custom function.

    The process error output type will be R.

    O

    Output type of the pipe

    R

    Result type of the fold

    pipe

    Target pipe

    init

    The initial value for the fold

    fn

    The fold function

    returns

    Returns a new process with its error output redirected and its error redirection capability removed.

    Definition Classes
    RedirectableError
  31. def foldOutput[O, R](pipe: Pipe[F, Byte, O], init: R, fn: (R, O) => R): ProcessImplO[F, R]

    Redirects the output to a pipe and folds it with a custom function.

    Redirects the output to a pipe and folds it with a custom function.

    The process output type will be R.

    O

    Output type of the pipe

    R

    Result type of the fold

    pipe

    Target pipe

    init

    The initial value for the fold

    fn

    The fold function

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  32. def fromFile(path: Path): ProcessImplI[F]

    Feed the process input from a file natively.

    Feed the process input from a file natively.

    An alias for <.

    path

    Path to the file

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  33. def fromStream(stream: Stream[F, Byte], flushChunks: Boolean): ProcessImplI[F]

    Feed the process input from a byte stream.

    Feed the process input from a byte stream.

    An alias for < and !<.

    stream

    Input stream

    flushChunks

    Flush the process input stream after each chunk

    returns

    A new process or process group with the input redirected and the input redirection capability removed.

    Definition Classes
    RedirectableInput
  34. def in(workingDirectory: Path): ProcessImpl[F]

    Changes the working directory of the process

    Changes the working directory of the process

    workingDirectory

    the working directory

    returns

    a new process with the working directory set

    Definition Classes
    ProcessConfiguration
  35. val inputRedirection: InputRedirection[F]
    Definition Classes
    ProcessImplProcess
  36. val outputRedirection: OutputRedirection[F]
    Definition Classes
    ProcessImplProcess
  37. def productElementNames: Iterator[String]
    Definition Classes
    Product
  38. val removedEnvironmentVariables: Set[String]
    Definition Classes
    ProcessImplProcess
  39. def run(blocker: Blocker)(implicit runner: ProcessRunner[F]): F[ProcessResult[Unit, Unit]]

    Starts the process asynchronously and blocks the execution until it is finished

    Starts the process asynchronously and blocks the execution until it is finished

    blocker

    Execution context for blocking operations

    runner

    The process runner to be used

    returns

    the result of the finished process

    Definition Classes
    Process
  40. val runErrorStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[Unit]
    Definition Classes
    ProcessImplProcess
  41. val runOutputStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[Unit]
    Definition Classes
    ProcessImplProcess
  42. def start(blocker: Blocker)(implicit runner: ProcessRunner[F]): Resource[F, Fiber[F, ProcessResult[Unit, Unit]]]

    Starts the process asynchronously and returns a closeable fiber representing it

    Starts the process asynchronously and returns a closeable fiber representing it

    Joining the fiber waits for the process to be terminated. Canceling the fiber terminates the process normally (with SIGTERM).

    blocker

    Execution context for blocking operations

    runner

    The process runner to be used

    returns

    a managed fiber representing the running process

    Definition Classes
    Process
  43. def startProcess(blocker: Blocker)(implicit runner: ProcessRunner[F]): F[RunningProcess[F, Unit, Unit]]

    Starts the process asynchronously and returns the RunningProcess interface for it

    Starts the process asynchronously and returns the RunningProcess interface for it

    This is the most advanced way to start processes. See start and run as alternatives.

    blocker

    Execution context for blocking operations

    runner

    The process runner to be used

    returns

    interface for handling the running process

    Definition Classes
    Process
  44. def toFile(path: Path): ProcessImplO[F, Unit]

    Redirects the output to a file natively

    Redirects the output to a file natively

    An alias for >

    path

    Target file path

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  45. def toFoldMonoid[O](pipe: Pipe[F, Byte, O])(implicit arg0: Monoid[O]): ProcessImplO[F, O]

    Redirects the output to a pipe and folds its output with a monoid instance.

    Redirects the output to a pipe and folds its output with a monoid instance.

    The process output type will be the same as the pipe's output type. An alias for >#

    O

    Output type of the pipe. Must have a monoid instance.

    pipe

    Target pipe

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  46. def toSink(sink: Pipe[F, Byte, Unit]): ProcessImplO[F, Unit]

    Redirects the output to a sink.

    Redirects the output to a sink.

    The process output type will be Unit. An alias for >

    sink

    Target sink

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  47. def toVector[O](pipe: Pipe[F, Byte, O]): ProcessImplO[F, Vector[O]]

    Redirects the output to a pipe and collects its output to a vector

    Redirects the output to a pipe and collects its output to a vector

    The process output type will be a vector of the pipe's output type. An alias for >?

    O

    Output type of the pipe

    pipe

    Target pipe

    returns

    Returns a new process or process group with its output redirected and its output redirection capability removed.

    Definition Classes
    RedirectableOutput
  48. def with(nameValuePair: (String, String)): ProcessImpl[F]

    Adds an environment variable to the process

    Adds an environment variable to the process

    nameValuePair

    A pair of name and value

    returns

    a new process with the working directory set

    Definition Classes
    ProcessConfiguration
  49. def withArguments(newArguments: List[String]): ProcessImpl[F]

    Replaces the arguments

    Replaces the arguments

    newArguments

    new list of arguments

    returns

    returns a new process specification

    Definition Classes
    ProcessConfiguration
  50. def withCommand(newCommand: String): ProcessImpl[F]

    Replaces the command

    Replaces the command

    newCommand

    new value for the command to be executed

    returns

    returns a new process specification

    Definition Classes
    ProcessConfiguration
  51. def without(name: String): ProcessImpl[F]

    Removes an environment variable from the process

    Removes an environment variable from the process

    Usable to remove variables inherited from the parent process.

    name

    Name of the environment variable

    returns

    a new process with the working directory set

    Definition Classes
    ProcessConfiguration
  52. val workingDirectory: Option[Path]
    Definition Classes
    ProcessImplProcess