Standard Library

Process Execution

Run subprocesses and access process utilities:

import process

let result = process.run(["ls", "-la"], cwd="/tmp")
print(result.stdout())

let out = process.cmd("echo").arg("hello").capture()

let cwd = process.getcwd()
let args = process.argv()
FunctionReturnsDescription
process.run(args, cwd?, env?)ProcessResultRun a subprocess
process.cmd(program)CommandCreate a fluent command builder
process.getcwd()StrReturn current working directory
process.realpath(p)StrReturn canonical path, resolving symlinks
process.tempdir()StrReturn system temporary directory
process.exit(code)NoneExit with status code
process.argv()List[Str]Return command-line arguments

ProcessResult methods:

MethodReturnsDescription
.exit_code()IntProcess exit code
.stdout()StrCaptured standard output
.stderr()StrCaptured standard error
.ok()BoolTrue if exit code is 0
.require_ok()ProcessResultReturns self or throws if exit code is non-zero

Command builder methods:

MethodReturnsDescription
.arg(value)CommandAppend a single argument
.args(values)CommandAppend multiple arguments
.with_cwd(path)CommandSet working directory
.with_env(name, value)CommandSet environment variable
.run()ProcessResultExecute and return result
.check()ProcessResultExecute and throw if non-zero exit
.capture()StrExecute and return stdout (throws if non-zero exit)
← Environment
Static HTTP Server →