warren/cmd/warren/cmd_run.go

51 lines
882 B
Go

package main
import (
"fmt"
"github.com/dballard/warren/lib/warren"
"log"
"net"
"os"
"strings"
// "os/exec"
// "time"
)
var runUsage = `
warren run - Interfaces with warrend to manage running instances
`
var runCmd = &warren.Command{
Name: "run",
Usage: runUsage,
Summary: "Interface to warrend to manage running instances",
Help: runUsage,
Run: runRun,
}
func runRun(cmd *warren.Command, args ...string) {
if len(args) == 0 || args[0] == "help" {
fmt.Print(cmd.Help)
return
}
s, err := net.Dial(warren.CmdSockType, warren.CmdSockAddr)
if s != nil {
defer s.Close()
}
if err != nil {
log.Fatal("Error connecting to warrend:", err)
}
dir, _ := os.Getwd()
// pwd|arg1 arg2 arg3 ....
warren.WriteStringz(s, dir+"|"+strings.Join(args, "|"))
resp, err := warren.ReadStringz(s)
if err != nil {
log.Fatal(err)
}
fmt.Println(resp)
}