Packages

A wrapper for erlexec

Retired package: Renamed - this package is now known as glexec

Current section

Files

Jump to
gleam_erlexec src gleam_erlexec.gleam
Raw

src/gleam_erlexec.gleam

import gleam/erlexec as exec
pub fn main() {
assert Ok(bash) = exec.find_executable("bash")
assert Ok(exec.Pids(_pid, ospid)) =
exec.new()
|> exec.with_stdin(exec.StdinPipe)
|> exec.with_stdout(exec.StdoutCapture)
|> exec.with_stderr(exec.StderrStdout)
|> exec.with_monitor(True)
|> exec.with_pty(True)
|> exec.run_async(exec.Execve([bash, "-c", "echo started && cat"]))
assert Ok(exec.ObtainStdout(_, "started\r\n")) = exec.obtain(500)
assert Ok(Nil) = exec.send(ospid, "test\n")
assert Ok(exec.ObtainStdout(_, "test\r\n")) = exec.obtain(500)
assert Ok(Nil) = exec.kill_ospid(ospid, 9)
}