2017-07-03 3 views
1

je les suivantes FD (lsof sortie) ouvert:Comment écrire à déjà ouvert FD dans golang

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

je dois écrire quelque chose dans FD 5 (FIFO) en déplacement. En C il est effectué par le syscall write():

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

Merci d'avance!

+0

FD 5 est ouverte par le processus parent. –

Répondre

1

Utilisez os.NewFile pour « ouvrir » un fichier existant par son descripteur de fichier:

func NewFile(fd uintptr, name string) *File 

NewFile retourne un nouveau fichier avec le descripteur de fichier donné et le nom.

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