Contents

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