Go 中的 Unix FIFO?

发布于 2024-11-16 19:17:09 字数 181 浏览 4 评论 0原文

有没有办法用Go语言创建unix FIFO? os 包中没有 MkfifoMknod,尽管我预计命名 FIFO 主要用于 posix 操作系统。事实上,有一个创建未命名的 FIFO(管道)的函数,但没有创建命名管道的函数。

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

Is there any way to create a unix FIFO with Go language? There is no Mkfifo, nor Mknod in os package, though I expected named FIFOs are largely used in posix OS's. In fact, there is a function for creating an unnamed FIFO (pipe), but no function for creating named pipes.

Am I the only one who needs them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

失去的东西太少 2024-11-23 19:17:09

为了让它在 Linux 上工作,我简单地做了一个

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

它似乎成功了。

这里是底层 mknod() 调用的参考

In order to get it to work on Linux, I simply did a

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

It seemed to do the trick.

Here is a reference for the underlying mknod() call

剩一世无双 2024-11-23 19:17:09

有一个 Mkfifo,但它位于 syscall-package :)

搜索源代码给我的感觉是,除了 OS X 和 FreeBSD 之外,它在任何其他平台上都不可用:http://www.google .com/codesearch#search&q=Mkfifo+package:http://go%5C.googlecode%5C.com

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

There is a Mkfifo, but it's in the syscall-package :)

Searching through the source gives me the feeling it's not available on anything but OS X and FreeBSD though: http://www.google.com/codesearch#search&q=Mkfifo+package:http://go%5C.googlecode%5C.com

I don't have a unix machine ready to test with. You can use cgo if you like to build a C-interface package which exports it for you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文