case class ProcessImplOE[O, E](command: String, arguments: List[String], workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String], outputRedirection: Prox.OutputRedirection, runOutputStream: (InputStream) ⇒ Prox.ProxIO[O], errorRedirection: Prox.OutputRedirection, runErrorStream: (InputStream) ⇒ Prox.ProxIO[E], inputRedirection: Prox.InputRedirection) extends Prox.Process[O, E] with Prox.RedirectableInput[ProcessImplIOE[O, E]] with Product with Serializable
Process with bound output and error streams
- Alphabetic
- By Inheritance
- ProcessImplOE
- Serializable
- Serializable
- Product
- Equals
- RedirectableInput
- Process
- ProcessConfiguration
- ProcessLikeConfiguration
- ProcessLike
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new ProcessImplOE(command: String, arguments: List[String], workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String], outputRedirection: Prox.OutputRedirection, runOutputStream: (InputStream) ⇒ Prox.ProxIO[O], errorRedirection: Prox.OutputRedirection, runErrorStream: (InputStream) ⇒ Prox.ProxIO[E], inputRedirection: Prox.InputRedirection)
Type Members
-
type
Self = ProcessImplOE[O, E]
- Definition Classes
- ProcessImplOE → Process → ProcessLikeConfiguration
Value Members
-
def
!<(stream: Prox.ProxStream[Byte]): ProcessImplIOE[O, E]
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
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
<(stream: Prox.ProxStream[Byte]): ProcessImplIOE[O, E]
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
-
def
<(path: Path): ProcessImplIOE[O, E]
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
-
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
- ProcessConfiguration → ProcessLikeConfiguration
-
val
arguments: List[String]
- Definition Classes
- ProcessImplOE → Process
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
val
command: String
- Definition Classes
- ProcessImplOE → Process
-
def
connectInput(source: Prox.InputRedirection): ProcessImplIOE[O, E]
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
- ProcessImplOE → RedirectableInput
-
val
environmentVariables: Map[String, String]
- Definition Classes
- ProcessImplOE → Process → ProcessLikeConfiguration
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
val
errorRedirection: Prox.OutputRedirection
- Definition Classes
- ProcessImplOE → Process
-
def
fromFile(path: Path): ProcessImplIOE[O, E]
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
-
def
fromStream(stream: Prox.ProxStream[Byte], flushChunks: Boolean): ProcessImplIOE[O, E]
Feed the process input from a byte stream.
- 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
-
final
def
getClass(): Class[_]
- 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
-
val
inputRedirection: Prox.InputRedirection
- Definition Classes
- ProcessImplOE → Process
-
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
outputRedirection: Prox.OutputRedirection
- Definition Classes
- ProcessImplOE → Process
-
val
removedEnvironmentVariables: Set[String]
- Definition Classes
- ProcessImplOE → Process → ProcessLikeConfiguration
-
def
run[Info]()(implicit runner: Prox.ProcessRunner[Info]): Prox.ProxIO[Prox.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
- runner
The process runner to be used
- returns
the result of the finished process
- Definition Classes
- Process
-
val
runErrorStream: (InputStream) ⇒ Prox.ProxIO[E]
- Definition Classes
- ProcessImplOE → Process
-
val
runOutputStream: (InputStream) ⇒ Prox.ProxIO[O]
- Definition Classes
- ProcessImplOE → Process
-
def
selfCopy(command: String, arguments: List[String], workingDirectory: Option[Path], environmentVariables: Map[String, String], removedEnvironmentVariables: Set[String]): ProcessImplOE[O, E]
- Attributes
- protected
- Definition Classes
- ProcessImplOE → ProcessConfiguration
-
def
start[Info]()(implicit runner: Prox.ProcessRunner[Info]): Prox.ProxResource[Prox.ProxFiber[Prox.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).
- runner
The process runner to be used
- returns
a managed fiber representing the running process
- Definition Classes
- Process
-
def
startProcess[Info]()(implicit runner: Prox.ProcessRunner[Info]): Prox.ProxIO[Prox.RunningProcess[O, E, Info]]
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.
- Info
The runner-specific process info type
- runner
The process runner to be used
- returns
interface for handling the running process
- Definition Classes
- Process
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
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
withArguments(newArguments: List[String]): Self
Replaces the arguments
Replaces the arguments
- newArguments
new list of arguments
- returns
returns a new process specification
- Definition Classes
- ProcessConfiguration
-
def
withCommand(newCommand: String): Self
Replaces the command
Replaces the command
- newCommand
new value for the command to be executed
- returns
returns a new process specification
- Definition Classes
- ProcessConfiguration
-
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
- ProcessImplOE → Process → ProcessLikeConfiguration
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated