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

Zhi*_*lov 6 pipe fifo go

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

auth    11780 root    5w  FIFO               0,10      0t0  72061824 pipe
Run Code Online (Sandbox Code Playgroud)

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

19270 write(5, "*************", 12 <unfinished ...>
Run Code Online (Sandbox Code Playgroud)

先感谢您!

Tim*_*per 6

用于os.NewFile通过文件描述符“打开”现有文件:

func NewFile(fd uintptr, name string) *File
Run Code Online (Sandbox Code Playgroud)

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

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