11

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

我是唯一需要它们的人吗?

4

2 回答 2

13

为了让它在 Linux 上工作,我只是做了一个

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

它似乎奏效了。

是底层 mknod() 调用的参考

于 2011-06-28T16:45:29.850 回答
3

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

搜索源代码让我感觉它在 OS X 和 FreeBSD 上不可用:http://www.google.com/codesearch#search&q=Mkfifo+package: http://go%5C.googlecode%5C。 com

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

于 2011-06-22T15:55:10.557 回答