final class SpawnableProcess extends AnyRef
- Alphabetic
- By Inheritance
- SpawnableProcess
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SpawnableProcess(command: Seq[Shellable], env: Environment, mocked: List[Application])
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
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def call(cwd: Path = null, env: Map[String, String] = null, stdin: ProcessInput = Pipe, stdout: ProcessOutput = Pipe, stderr: ProcessOutput = os.Inherit, mergeErrIntoOut: Boolean = false, timeout: Long = -1, check: Boolean = true, propagateEnv: Boolean = true): CommandResult
Invokes the given subprocess like a function, passing in input and returning a CommandResult.
Invokes the given subprocess like a function, passing in input and returning a CommandResult. You can then call
result.exitCodeto see how it exited, orresult.out.bytesorresult.err.stringto access the aggregated stdout and stderr of the subprocess in a number of convenient ways. If a non-zero exit code is returned, this throws a os.SubprocessException containing the CommandResult, unless you pass incheck = false.If you want to spawn an interactive subprocess, such as
vim,less, or apythonshell, set all ofstdin/stdout/stderrto os.Inheritcallprovides a number of parameters that let you configure how the subprocess is run:- cwd
the working directory of the subprocess
- env
any additional environment variables you wish to set in the subprocess
- stdin
any data you wish to pass to the subprocess's standard input
- stdout
How the process's output stream is configured.
- stderr
How the process's error stream is configured.
- mergeErrIntoOut
merges the subprocess's stderr stream into it's stdout
- timeout
how long to wait for the subprocess to complete
- check
disable this to avoid throwing an exception if the subprocess fails with a non-zero exit code
- propagateEnv
disable this to avoid passing in this parent process's environment variables to the subprocess
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def spawn(cwd: Path = null, env: Map[String, String] = null, stdin: ProcessInput = Pipe, stdout: ProcessOutput = Pipe, stderr: ProcessOutput = os.Inherit, mergeErrIntoOut: Boolean = false, propagateEnv: Boolean = true): SubProcess
The most flexible of the os.proc calls,
os.proc.spawnsimply configures and starts a subprocess, and returns it as ajava.lang.Processfor you to interact with however you like.The most flexible of the os.proc calls,
os.proc.spawnsimply configures and starts a subprocess, and returns it as ajava.lang.Processfor you to interact with however you like.To implement pipes, you can spawn a process, take it's stdout, and pass it as the stdin of a second spawned process.
Note that if you provide
ProcessOutputcallbacks tostdout/stderr, the calls to those callbacks take place on newly spawned threads that execute in parallel with the main thread. Thus make sure any data processing you do in those callbacks is thread safe! - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()