trait ProcessGroup[O, E] extends ProcessLike with Prox.ProcessGroupConfiguration[O, E]
Process group is two or more processes attached to each other
This implements a pipeline of processes. The input of the first process and the output of the last process is redirectable with the RedirectableInput and RedirectableOutput traits. The processes are attached to each other's input/output streams, the pipe between them is customizable.
The error streams are also redirectable with the RedirectableErrors trait.
- O
Output type
- E
Error output type
- Alphabetic
- By Inheritance
- ProcessGroup
- ProcessGroupConfiguration
- ProcessLikeConfiguration
- ProcessLike
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
abstract
type
Self <: Prox.ProcessGroup[O, E]
- Definition Classes
- ProcessGroupConfiguration → ProcessLikeConfiguration
-
class
ConfigApplication[P <: Prox.ProcessLikeConfiguration] extends AnyRef
- Definition Classes
- ProcessGroupConfiguration
Abstract Value Members
- abstract val firstProcess: Prox.Process[Prox.ProxStream[Byte], E]
- abstract val innerProcesses: List[UnboundIProcess[Prox.ProxStream[Byte], E]]
- abstract val lastProcess: UnboundIProcess[O, E]
-
abstract
def
map(f: Mapper[O, E]): Self
Applies the given mapper to each process in the group
Applies the given mapper to each process in the group
- f
process mapper
- returns
a new process group with all the processes altered by the mapper
- abstract val originalProcesses: List[Prox.Process[Unit, Unit]]
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
applyConfiguration(workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String]): Self
- Attributes
- protected
- Definition Classes
- ProcessGroupConfiguration → ProcessLikeConfiguration
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
val
environmentVariables: Map[String, String]
- Definition Classes
- ProcessGroupConfiguration → ProcessLikeConfiguration
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
in(workingDirectory: Path): Self
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
- ProcessLikeConfiguration
-
def
inInheritedWorkingDirectory(): Self
Use the inherited working directory of the process instead of an explicit one
Use the inherited working directory of the process instead of an explicit one
- returns
a new process with the working directory cleared
- Definition Classes
- ProcessLikeConfiguration
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
val
removedEnvironmentVariables: Set[String]
- Definition Classes
- ProcessGroupConfiguration → ProcessLikeConfiguration
-
def
run[Info]()(implicit runner: Prox.ProcessRunner[Info]): Prox.ProxIO[Prox.ProcessGroupResult[O, E]]
Starts the process group asynchronously and blocks the execution until it is finished
Starts the process group asynchronously and blocks the execution until it is finished
- runner
The process runner to be used
- returns
the result of the finished processes
-
def
start[Info]()(implicit runner: Prox.ProcessRunner[Info]): Prox.ProxResource[Prox.ProxFiber[Prox.ProcessGroupResult[O, E]]]
Starts the process group asynchronously and returns a closeable fiber representing it
Starts the process group asynchronously and returns a closeable fiber representing it
Joining the fiber waits for the processes to be terminated. Canceling the fiber terminates the processesnormally (with SIGTERM).
- runner
The process runner to be used
- returns
a managed fiber representing the running processes
-
def
startProcessGroup[Info]()(implicit runner: Prox.ProcessRunner[Info]): Prox.ProxIO[Prox.RunningProcessGroup[O, E, Info]]
Starts the process group asynchronously and returns the RunningProcessGroup interface for it
Starts the process group asynchronously and returns the RunningProcessGroup interface for it
This is the most advanced way to start process groups. See start and run as alternatives.
- Info
The runner-specific information about the started processes
- runner
The process runner to be used
- returns
interface for handling the running process group
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
with(nameValuePair: (String, String)): Self
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
- ProcessLikeConfiguration
-
def
without(name: String): Self
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
- ProcessLikeConfiguration
-
val
workingDirectory: Option[Path]
- Definition Classes
- ProcessGroupConfiguration → ProcessLikeConfiguration
-
object
ConfigApplication
- Definition Classes
- ProcessGroupConfiguration
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated