package main
import (
"fmt"
"os/exec"
"sync"
)
func main() {
var wg sync.WaitGroup
var err error
path := "/home/keli/1_Workbench/1_Go/src/temp/main/1.out"
cmd := exec.Command(path)
in, err := cmd.StdinPipe()
if err != nil {
panic(err)
}
out, err := cmd.StdoutPipe()
if err != nil {
panic(err)
}
wg.Add(1)
go func() {
defer wg.Done()
cmd.Run()
}()
var inputs []string = []string{
"aaaa\n",
"bbbb\n",
"cccc\n",
}
for _, input := range inputs {
_, err = in.Write([]byte(input))
if err != nil {
panic(err)
}
outData := make([]byte, 128)
n, err := out.Read(outData)
if err != nil {
panic(err)
}
fmt.Println(string(outData[:n]))
}
wg.Wait()
}