2017-07-03 164 views
1

到已经打开的FD我有以下的开FD(lsof的输出):如何写golang

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

我需要写在FD 5(FIFO)中去的东西。在C中,它由系统调用write()执行:

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

预先感谢您!

+0

FD 5由父进程打开。 –

回答

1

使用os.NewFile由其文件描述符“打开”现有的文件:

func NewFile(fd uintptr, name string) *File 

NEWFILE返回给定的文件描述符和名称的新文件。

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