elegantchaos/runner
Support for executing subprocesses, using Foundation.Process, and capturing their
Lookup Executable In Path
let runner = Runner(command: "git") /// we'll find git in $PATH if it's there
let session = runner.run("status")
print(await session.stdout.string)Run And Wait For Termination
let url = /* url to the executable */
let runner = Runner(for: url)
// execute with some arguments
let session = runner.run(["some", "arguments"])
// wait for termination and read state
if await session.waitUntilExit() == .succeeded {
print("all good")
}Run Passing Stdout/Stderr Through
let url = /* url to the executable */
let runner = Runner(for: url)
let session = runner.run(stdoutMode: .forward, stderrMode: .forward)
let _ = session.waitUntilExit()Package Metadata
Repository: elegantchaos/runner
Default branch: main
README: README.md