50 lines
828 B
Go
50 lines
828 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"github.com/dballard/warren/lib/warren"
|
|
"log"
|
|
"net"
|
|
"strings"
|
|
// "os"
|
|
// "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)
|
|
}
|
|
|
|
warren.WriteStringz(s, strings.Join(args, " "))
|
|
|
|
resp, err := warren.ReadStringz(s)
|
|
|
|
if err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
|
|
fmt.Println(resp)
|
|
}
|