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

在Linux Bash中使用命名管道的示例

孟璞
2023-03-14
问题内容

有人可以在Linux的Bash中发布使用命名管道的简单示例吗?


问题答案:

实际使用命名管道的最好例子之一…

从http://en.wikipedia.org/wiki/Netcat:

另一个有用的行为是netcat用作代理。端口和主机都可以重定向。看这个例子:

nc -l 12345 | nc www.google.com 80

端口12345代表请求。

这将nc在端口12345上启动服务器,并且所有连接都将重定向到google.com:80。如果网络浏览器向nc发送了请求,则请求将发送到google,但响应不会发送到网络浏览器。那是因为管道是单向的。可以使用命名管道来解决此问题,以重定向输入和输出。

mkfifo backpipe
nc -l 12345  0<backpipe | nc www.google.com 80 1>backpipe


 类似资料:
  • 问题内容: 我经历了各种不同的名为管道客户端/服务器实现的Linux,但其中大多数在读取/写入时使用阻止默认值。 因为我已经在使用poll()来检查其他标志,所以也可以通过poll()检查传入的FIFO数据是一个好主意… 经过所有研究,我认为以O_RDWR模式打开管道是防止在没有任何编写者打开管道的情况下无限期发生EOF事件的唯一方法。 这样,管道的两端都关闭了,其他客户端也可以打开可写端。作为回

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

  • 我正试图通过命名管道使用VB.NET从windows应用程序连接到SQL Server2008。 但这根本不连接到服务器。这是使用命名管道连接到sql sererver的正确方法吗?

  • 问题内容: 在网上进行了一些搜索,找到了使用命名管道的简单“教程”。但是,当我对后台作业执行任何操作时,我似乎会丢失很多数据。 [[编辑:找到了一个简单得多的解决方案,请参阅回复。因此,我提出的问题现在是学术性的,以防万一可能需要工作服务器]] 在Linux 2.6.32-25-generic#45-Ubuntu SMP上使用Ubuntu 10.04(星期六)10月16日19:52:42 UTC

  • 问题内容: 如何在node.js中创建命名管道? PS:目前,我正在按如下方式创建命名管道。但是我认为这不是最好的方法 问题答案: 看起来,Node核心不支持名称管道-从Ben Noordhuis 11/10/11开始: Windows具有命名管道的概念,但是自您提到以来,我假设您的意思是UNIX FIFO。 我们不支持它们,可能永远也不会(在非阻塞模式下的FIFO可能会死锁事件循环),但是如果您

  • 问题内容: 如何在Python中创建临时FIFO(命名管道)?这应该工作: 但是,我很犹豫,因为Python Docs 11.6 中有个大警告,并且由于不推荐使用而可能被删除。 编辑 :值得注意的是,我已经尝试过(并通过扩展名),但是抛出: OSError -17:文件已存在 当您在mkstemp / NamedTemporaryFile创建的文件上运行它时。 问题答案: 如果文件已经存在,将失败