【发布时间】:2015-04-09 02:34:15
【问题描述】:
我阅读了golang.org 的解释,如下所示。
// ExtraFiles specifies additional open files to be inherited by the
// new process. It does not include standard input, standard output, or
// standard error. If non-nil, entry i becomes file descriptor 3+i.
//
// BUG: on OS X 10.6, child processes may sometimes inherit unwanted fds.
// http://golang.org/issue/2603
ExtraFiles []*os.File
我不是很了解吗?例如我下面有这样的代码。
cmd := &exec.Cmd{
Path: init,
Args: initArgs,
}
cmd.Stdin = Stdin
cmd.Stdout = Stdout
cmd.Stderr = Stderr
cmd.Dir = Rootfs
cmd.ExtraFiles = []*os.File{childPipe}
是不是意思,我在cmd.ExtraFiles = []*os.File{childPipe}写了一个childpipe,直接写fd3就可以使用了。
pipe = os.NewFile(uintptr(3), "pipe")
json.NewEncoder(pipe).Encode(newThing)
如果有人可以提供帮助,谢谢!
【问题讨论】:
标签: go