如何在golang中写入已打开的FD

时间:2017-07-03 12:53:36

标签: go pipe fifo

我有以下打开的FD(lsof输出):

auth    11780 root    5w  FIFO               0,10      0t0  72061824 pipe

我需要在FD中写一些东西(FIFO)。在C中,它由syscall write()执行:

19270 write(5, "*************", 12 <unfinished ...>

提前谢谢!

1 个答案:

答案 0 :(得分:2)

使用os.NewFile来打开&#34;打开&#34;现有文件的文件描述符:

func NewFile(fd uintptr, name string) *File
     

NewFile返回一个带有给定文件描述符和名称的新文件。

file := os.NewFile(5, "pipe")
_, err := file.Write([]byte(`my data`))
if err != nil {
    panic(err)
}