diff --git a/README.md b/README.md index 2f037eb..951875a 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Then connect to a guest agent server socket `/tmp/gqa.sock`: import qga fn main() { - ga := qga.Client.new('/tmp/qga.sock')! + mut ga := qga.Client.new('/tmp/qga.sock')! agent_version := ga.info()!.version println('everything is fine! guest agent version is ${agent_version}') } diff --git a/examples/runcmd.v b/examples/runcmd.v new file mode 100644 index 0000000..f4643de --- /dev/null +++ b/examples/runcmd.v @@ -0,0 +1,27 @@ +module main + +import time +import qga + +fn main() { + args := arguments()[1..] + eprintln('Run this example as: `v -d trace_guest_agent run runcmd.v SOCKET_PATH COMMAND`') + eprintln('') + mut ga := qga.Client.new(args[0] or { panic('socket path is not provided') })! + eprintln('Ping guest agent...') + ga.ping() or { panic('ping failed...') } + eprintln('Ping successfull!') + eprintln('Run command!') + pid := ga.exec('/bin/sh', + args: ['-c', args[1] or { panic('COMMAND is not provided') }] + capture_output: true + )! + for { + status := ga.exec_status(pid)! + time.sleep(500 * time.millisecond) + if status.exited { + println(status) + break + } + } +}