我有这个代码
subProcess := exec.Cmd{
Path: execAble,
Args: []string{
fmt.Sprintf("-config=%s", *configPath),
fmt.Sprintf("-serverType=%s", *serverType),
fmt.Sprintf("-reload=%t", *reload),
fmt.Sprintf("-listenFD=%d", fd),
},
Dir: here,
}
subProcess.Stdout = os.Stdout
subProcess.Stderr = os.Stderr
logger.Info("starting subProcess:%s ", subProcess.Args)
if err := subProcess.Run(); err != nil {
logger.Fatal(err)
}
Run Code Online (Sandbox Code Playgroud)
然后我做os.Exit(1)来停止主进程
我可以从子进程获得输出
但我也想把stdin放进去
我试试
subProcess.Stdin = os.Stdin
Run Code Online (Sandbox Code Playgroud)
但它不起作用
我想在golang中使用name创建数组,但是我在这里得到一些错误是我的代码包main
import (
"fmt"
"reflect"
)
type My struct{
Name string
Id int
}
func main() {
my := &My{}
myType := reflect.TypeOf(my)
fmt.Println(myType)
//v := reflect.New(myType).Elem().Interface()
// I want to make array with My
//a := make([](myType.(type),0) //can compile
//a := make([]v.(type),0) ////can compile
fmt.Println(a)
}
Run Code Online (Sandbox Code Playgroud)