Packages

trait Process[F[_], O, E] extends ProcessLike[F]

Describes a system process to be executed

This base trait is always extended with redirection and configuration capabilities represented by the traits ProcessConfiguration, RedirectableInput, RedirectableOutput and RedirectableError.

To create a process use the constructor in the companion object Process.apply.

The process specification not only encodes the process to be started but also how its input, output and error streams are redirected and executed. For this reason the effect type is also bound by the process, not just at execution time.

F

Effect type

O

Output type

E

Error output type

Linear Supertypes
ProcessLike[F], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Process
  2. ProcessLike
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract val arguments: List[String]
  2. abstract val command: String
  3. implicit abstract val concurrent: Concurrent[F]
  4. abstract val environmentVariables: Map[String, String]
  5. abstract val errorRedirection: OutputRedirection[F]
  6. abstract val inputRedirection: InputRedirection[F]
  7. abstract val outputRedirection: OutputRedirection[F]
  8. abstract val removedEnvironmentVariables: Set[String]
  9. abstract val runErrorStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[E]
  10. abstract val runOutputStream: (java.io.InputStream, Blocker, ContextShift[F]) => F[O]
  11. abstract def withArguments(newArguments: List[String]): Process[F, O, E]

    Replaces the arguments

    Replaces the arguments

    Use the variant in the ProcessConfiguration trait to preserve the exact process type

    newArguments

    new list of arguments

    returns

    returns a new process specification

  12. abstract def withCommand(newCommand: String): Process[F, O, E]

    Replaces the command

    Replaces the command

    Use the variant in the ProcessConfiguration trait to preserve the exact process type

    newCommand

    new value for the command to be executed

    returns

    returns a new process specification

  13. abstract val workingDirectory: Option[Path]

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. def run(blocker: Blocker)(implicit runner: ProcessRunner[F]): F[ProcessResult[O, E]]

    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

  16. def start(blocker: Blocker)(implicit runner: ProcessRunner[F]): Resource[F, Fiber[F, ProcessResult[O, E]]]

    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

  17. def startProcess(blocker: Blocker)(implicit runner: ProcessRunner[F]): F[RunningProcess[F, O, E]]

    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

  18. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  19. def toString(): String
    Definition Classes
    AnyRef → Any
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from ProcessLike[F]

Inherited from AnyRef

Inherited from Any

Ungrouped