55得票5回答
在Linux内核中,FIFO、管道和Unix域套接字是同一回事吗?

我听说FIFO被称为命名管道,并且它们具有完全相同的语义。另一方面,我认为Unix域套接字与管道非常相似(尽管我从未使用过它)。所以我想知道它们是否都指的是Linux内核中的同一个实现。有什么想法吗?

25得票2回答
通过`mknod`命令创建的命名管道和通过`mkfifo`命令创建的FIFO管道是等效的吗?

我使用了mkfifo <file>命令来创建命名管道,其中一个进程向文件写入数据,另一个进程从文件读取数据。 现在,我知道mknod命令也可以创建命名管道。这些命名管道和由mkfifo创建的FIFO是否等效,还是它们具有不同的特性?

24得票3回答
防止对命名管道的自动EOF,并在我希望时发送EOF。

我有一个程序,在读取给定流(在这种情况下是stdin)的EOF时会自动退出。 现在我想编写一个shell脚本,创建一个命名管道,并将程序的stdin连接到它。然后脚本使用echo和cat(以及其他在退出时自动生成EOF的工具)多次写入管道。我面临的问题是,当第一个echo完成时,它会向管道发送...

22得票3回答
持续从命名管道中读取(使用cat或tail -f)

我已经配置了rsyslog,将某些日志事件记录到/dev/xconsole。 *.*;cron.!=info;mail.!=info |/dev/xconsole /dev/xconsole 是一个命名管道(fifo)。如果我想查看正在记录的内容,我可以执行 cat /dev/...

21得票1回答
为什么命名管道的速度和写入文件一样慢?

我正在尝试理解命名管道的工作原理,以便能够简化我的单向进程间通信。我预计由于将数据复制到循环缓冲区中会产生一些开销,我本以为这个缓冲区是存储在RAM中的,所以我期望管道的速度比写入文件要快得多(因为RAM的速度比磁盘快几个数量级)。 然而,我发现命名管道(或匿名管道)的速度与文件差不多。这是...

16得票3回答
一个虚拟文件,其中包含其他文件的串联

有没有一种类似于这样的方法来创建一个文件系统对象: mknod files p cat file1 file2 ... fileN > files 但是它可以被搜索,就像一个常规的文件一样吗?

16得票1回答
如何计算平均管道流速

如果 myfile 随时间增加,我可以使用以下代码获取每秒的行数 tail -f | pv -lr > /dev/null 它提供的是瞬时速度,而不是平均速度。 我如何计算平均速度(即在监测时间内对速度函数 v(t) 进行积分)。

15得票1回答
如何在SSHFS上使用inotify或命名管道?

感谢sshfs的神奇功能,我可以从远程服务器上挂载我的主目录。 sshfs user@server:/home/user ~/remote 乐观地说,我想在~/remote/logFile(在sshfs挂载中)上设置一个本地的inotify-hook,这样一个本地程序就可以对远程日志的变...

15得票2回答
SIGPIPE是什么情况下会发生呢?

假设我们有一个名为fifo的命名管道,并且我们从两个不同的shell中读取和写入它。考虑以下两个例子: shell 1$ echo foo > fifo <hangs> shell 2$ cat fifo foo shell 1$ echo bar > fifo &l...

15得票2回答
FIFO(命名管道)与常规管道(无名管道)有何不同?

FIFO(命名管道)与常规管道(|)有何区别?根据我从维基百科了解,与常规管道不同,FIFO管道在进程结束后仍然"存在",并且可以在之后被删除。 但是,如果进程基于包含管道的shell命令(cat x | grep y),如果我们将其存储在变量或文件中,我们可以在进程结束后"保持其存在",那...