23得票1回答
如何在命名管道(mkfifo)上执行非阻塞的fopen操作?

如果我有一个程序使用mkfifo创建并尝试打开命名管道,如何在不阻塞的情况下打开管道进行读取或写入操作? 具体来说,我正在编写一个C程序,可以带或不带Java编写的GUI界面。 在C程序中,我成功地使用mkfifo创建了命名管道,但当我执行操作时,会发生阻塞。FILE* in = fope...

28得票1回答
在C++中创建Windows命名管道

我正在尝试在C++(Windows)中创建两个进程之间的简单通信,就像Linux中的FIFO一样。 这是我的服务器: int main() { HANDLE pipe = CreateFile(TEXT("\\\\.\\pipe\\Pipe"), GENERIC_READ, 0, ...

16得票3回答
Scala中是否有FIFO流?

我正在寻找Scala中的FIFO流,即提供以下功能的内容: immutable.Stream(可以是有限的流,并记住已经读取的元素) mutable.Queue(允许添加元素到FIFO) 该流应该是可关闭的,并且在添加元素或关闭流之前应该阻止对下一个元素的访问。 实际上,我有点惊讶于...

13得票1回答
什么情况会导致一个已打开、非阻塞的命名管道(FIFO)无法进行读取?

抱歉,我只能使用英语进行回答。new_pipe = os.open(pipe_path, os.O_RDONLY | os.O_NONBLOCK) # pipe_path points to a FIFO data = os.read(new_pipe, 1024) 读取时偶尔会引发 errn...

12得票1回答
当我尝试打开一个FIFO O_WRONLY时,会出现“没有这样的设备或地址”的错误。

在我的代码中,我创建了一个名为"my_fifo"的FIFO,如果我以O_WRONLY | O_NONBLOCK模式打开它,open()会返回-1和错误号"No such device or address"。另一方面,如果我以O_RDONLY | O_NONBLOCK模式打开FIFO,则可以正...

33得票6回答
在Python中创建一个临时FIFO(命名管道)?

你如何在Python中创建一个临时的FIFO(有名管道)? 这应该可以工作:import tempfile temp_file_name = mktemp() os.mkfifo(temp_file_name) open(temp_file_name, os.O_WRONLY) # ... ...

17得票3回答
NSOperationQueue 串行 FIFO 队列

将 NSoperationQueue 对象的 maxConcurrentOperationCount 属性设置为 1,可以将其作为串行 FIFO 队列使用吗? 我注意到文档中提到... 对于最大并发操作数设置为 1 的队列,这相当于一个串行队列。但是,你不应该依赖操作对象的串行执行。...

10得票1回答
在Shell/文件系统中如何使用非阻塞/异步FIFO(命名管道)?

有没有办法在shell中创建非阻塞/异步命名管道或类似的东西?以便程序可以将行放入其中,这些行将留在RAM中,当某个程序从管道中读取某些行时,将保留它没有读取的内容在FIFO中。很可能会有程序同时写入和读取此FIFO。起初我认为可能可以使用文件来实现,但在搜索了一段时间网络之后,似乎从文件同时...

44得票10回答
Linux非阻塞FIFO(按需记录)

我希望能够按需记录程序的输出。例如,将输出记录到终端,但是另一个进程可以随时连接当前的输出。 经典的方法是:myprogram 2>&1 | tee /tmp/mylog 并按需tail /tmp/mylog 然而,即使在未使用时,这将创建一个不断增长的日志文件,直到驱动器空间...

7得票1回答
如何在Golang中向已打开的文件描述符写入数据?

我有以下已打开的文件描述符(通过lsof输出): auth 11780 root 5w FIFO 0,10 0t0 72061824 pipe 我需要用Go语言在FD 5(FIFO)中写入一些内容。在C语言中,可以通过系统调用writ...