2011-06-22 36 views
8

有没有办法用Go语言创建unix FIFO?在os包中没有Mkfifo,也没有Mknod包,虽然我预计命名FIFO主要用于posix操作系统。实际上,有一个创建未命名的FIFO(管道)的功能,但没有创建命名管道的功能。unix FIFO在去?

我是唯一一个需要他们吗?

回答

10

为了得到它的工作在Linux上,我只是做了一个

syscall.Mknod(fullPath, syscall.S_IFIFO|0666, 0) 

它似乎做的伎俩。

Here是底层mknod()调用的参考

3

有一个Mkfifo,但它是在syscall -package :)

通过源搜索给我,这不使用感受上的任何东西,但OS X和FreeBSD虽然:http://www.google.com/codesearch#search&q=Mkfifo+package:http://go%5C.googlecode%5C.com

我不没有一台unix机器准备好测试。如果您希望构建一个可以为您导出它的C接口包,则可以使用cgo

+0

谢谢!你说得对,在linux上说:'undefined syscall.Mkfifo'。所以,会等待linux的支持。 – zserge