当前位置: 首页 > 面试题库 >

在Linux上可以更改命名管道的大小吗?

欧阳哲
2023-03-14
问题内容

我知道对于当前版本的Linux内核,命名管道的大小为64K。是否有可能完全增加此大小?

我知道我可以切换到套接字,但是首先我想看看是否可以通过仅增加命名管道的大小来解决间歇性的缓冲区溢出问题。


问题答案:

使用最新的内核(> = 2.6.35),您可以使用以下命令更改管道的大小

fcntl(fd, F_SETPIPE_SZ, size)

哪里sizelong。最大大小为/proc/sys/fs/pipe-max-size



 类似资料:
  • 我目前在PHP中使用proc_open()与命令行工具进行通信。它会自动为STDIN、STDOUT和STDERR创建多达3个文件描述符,因为超过3个管道会破坏Windows兼容性。它适用于Windows XP和我的Mac 10.7。 然而,我希望能够创建我自己的命名管道,以便更好地控制。如果我不能这样做,那么我必须维护进程资源及其流资源之间的引用,这使我的代码过于复杂。我不能使用文件,因为它们会填

  • 问题内容: 无论我在分配时给它多大的尺寸,它仅显示固定的尺寸。有可能增加吗? 码: 问题答案: 大小由样式固定。这是一个标准化的接口元素,因此API不喜欢摆弄它。 但是,您可能可以对其进行缩放转换。但是,不确定在视觉上如何影响它。 仅从UI设计的角度来看,通常最好不留这些常见的标准化元素。用户被告知某些元素以一定的大小出现,并且它们表示特定的事物。更改标准外观会更改界面语法并使用户感到困惑。

  • 主要内容:使用命名管道双向通信管道是用于相关过程之间的通信。 我们是否可以使用管道进行不相关的进程通信,比方说,我们要从一个终端执行客户端程序,从另一个终端执行服务器程序? 答案是否定的。那么怎样才能实现不相关的进程通信,简单的答案就是使用 命名管道。 即使这适用于相关的进程,但是使用命名管道进行相关的进程通信没有任何意义。 我们使用一个管道进行单向通信,两个管道进行双向通信。 命名管道是否适用相同的条件。 答案是否定的,我们

  • 问题内容: 有人可以在Linux的Bash中发布使用命名管道的简单示例吗? 问题答案: 实际使用命名管道的最好例子之一… 从http://en.wikipedia.org/wiki/Netcat: 另一个有用的行为是用作代理。端口和主机都可以重定向。看这个例子: 端口12345代表请求。 这将在端口12345上启动服务器,并且所有连接都将重定向到。如果网络浏览器向发送了请求,则请求将发送到goog

  • 在Linux上运行Windows容器可能吗?该场景基于一个在.net(旧的net)中编写的应用程序和Linux用户,该用户希望使用Docker运行该应用程序,以便在上提供一个编写的API。 我正在使用Docker Desktop for Windows的测试版 如果不是,那么为什么Windows可以运行Linux容器,反之亦然? 编辑: 由于一段时间过去了,这个问题是一个流行的问题。我想在这里补充

  • 问题内容: 是否可以在 Linux* 上运行 Windows容器 ?该方案基于一个用 .NET (旧网络)编写的应用程序,并且 Linux用户 希望通过Docker运行此应用程序以在上提供书面API 。 * 我正在使用Windows的Docker桌面的 beta版本 如果不是,那为什么Windows可以运行Linux容器而不是相反? 编辑: 随着时间的流逝,这个问题很受欢迎。我想在此处添加一条注释