反馈两个进程的stdin和stdout

2024-04-25

我有两个进程通过标准输入和标准输出相互连接。

假设我有进程 A 和进程 B。B 的标准输出需要输入到 A 的标准输入中,A 的标准输出需要输入到进程 B 的标准输出中。

是否有一种简单的方法可以用简单的命令来表达这种关系,或者是否有一个基本的 shell 脚本可以实现这一点?

提前致谢。


Bash 4 介绍 http://wiki.bash-hackers.org/bash4#the_new_coproc_keyword coproc http://wiki.bash-hackers.org/syntax/keywords/coproc:

declare -a FDS
coproc FDS { process_A; }
process_B <&${FDS[0]} >&${FDS[1]}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

反馈两个进程的stdin和stdout 的相关文章

  • ruby 管道、IO 和 stderr 重定向

    我希望有一个 ruby 程序 一个 rake 任务 观察另一个 rake 任务的输出 输出写入器输出到 stderr 我想读一下这些行 我很难设置它 如果我有一个作家 stdout writer rb 不断打印一些东西 usr bin en
  • 如何正确使用fork、exec、wait

    我正在编写的 shell 需要执行用户提供给它的程序 这是我的程序的非常简短的简化版本 int main pid t pid getpid this is the parents pid char user input NULL size
  • 如何安装 grunt-cli 而不出现错误?

    灵感来自 Chris Coyierpost http 24ways org 2013 grunt is not weird and hard 我决定尝试一下 grunt 但我在设置时遇到了很大的问题 首先 我安装了 Node js 然后我将
  • 使用脚本从网站中提取电子邮件地址

    给定一个网站 我想知道以编程方式和 或使用脚本的最佳程序是什么 以纯文本形式提取每个页面上存在的所有电子邮件地址 电子邮件受保护 cdn cgi l email protection从该链接和下面的所有站点 递归或直到某个固定深度 使用 s
  • CMake 链接 glfw3 lib 错误

    我正在使用 CLion 并且正在使用 glfw3 库编写一个程序 http www glfw org docs latest http www glfw org docs latest 我安装并正确执行了库中的所有操作 我有 a 和 h 文
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • .net-core:ILDASM / ILASM 的等效项

    net core 是否有相当于 ILDASM ILASM 的功能 具体来说 我正在寻找在 Linux 上运行的东西 因此为什么是 net core ildasm 和 ilasm 工具都是使用此存储库中的 CoreCLR 构建的 https
  • Mac OS X 上的 /proc/self/cmdline / GetCommandLine 等效项是什么?

    如何在不使用 argc argv 的情况下访问 Mac OS X 上的命令行 在 Linux 上 我会简单地阅读 proc self cmdline or use GetCommandLine在 Windows 上 但我找不到 Mac OS
  • 终端关闭时 bash 收到的信号

    使用 trap 来捕获信号 如下所示 i 1 while i lt 33 do trap echo i gt gt log txt i done 并强行关闭终端 那么log txt中的内容就是 redhat linux下 1 18 1 17
  • Rails 4.1 环境变量未重新加载

    我创建了一个application yml文件在配置目录中并添加了一些键值对 即AWS REGION us east 1 我还添加了以下内容application rb读取文件并更新 ENV 哈希 if Rails env developm
  • 如何使用Android获取Linux内核的版本?

    如何在 Android 应用程序中获取 Linux 内核的版本 不是 100 确定 但我认为调用 uname r 需要 root 访问权限 无论如何 有一种不太肮脏的方法可以做到这一点 那就是 System getProperty os v
  • 为什么 Git Bash 无法运行我的可执行文件?

    I am on git for windows https github com git for windows 吉特 巴什 我无法在命令行上运行可执行文件 Pedr Abc 07 MINGW64 c dev ls sqlite3 exe
  • 如何在 Mac OSX Mavericks 中正确运行字符串工具?

    如何在 Mac OSX Mavericks 中正确运行字符串工具 我尝试按照我在网上找到的示例来运行它 strings a UserParser class 但我收到此错误 错误 Applications Xcode app Content
  • 正则表达式匹配bash变量

    我正在尝试修改 bash 脚本 当前脚本包含 print div class 1 div Where 1可能看起来像 Apprentice Historian Level 1 Historian Level 4 Master Histori
  • 如何使用 UNIX shell 脚本删除平面文件的页眉和页脚记录?

    我有一个平面文件 如下所示 如何使用 UNIX shell 脚本从文件中删除页眉和页脚并重写同一文件 9 20050427 HEADER RECORD 0000000 00000 000000000 123456 00 654321 DAT
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • x86-64 AMD 上 CALL 指令的操作数生成

    以下是示例程序 objdump 的输出 080483b4
  • 等待子进程使用 os.system

    我用了很多os system在 for 循环内调用创建后台进程 如何等待所有后台进程结束 os wait告诉我没有子进程 ps 我使用的是Solaris 这是我的代码 usr bin python import subprocess imp
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 从 .csv 文件读取值并将其转换为浮点数组

    我偶然发现了一个小编码问题 我基本上必须从 csv 文件中读取数据 该文件看起来很像这样 2011 06 19 17 29 00 000 72 44 56 0 4772 0 3286 0 8497 31 3587 0 3235 0 9147
  • 更改模态视图控制器的大小

    一旦用户点击一个按钮 我希望我的 modalViewController 在屏幕中间显示为一个小正方形 您仍然可以在后台看到原始视图控制器 我在 stackoverflow 上找到的几乎每个答案都使用故事板来创建模态视图控制器 但我已经找到
  • 如何追踪正在修改 DOM 中 div 内联样式的 JavaScript?

    我正在搞乱 WordPress 插件 当我从顶部向下滚动大约 50 像素时 div 标签的内联样式属性正在发生变化 我怎样才能找出造成这种变化的原因 有 Chrome 功能或开发工具可以指向它吗 Try the Chrome 开发工具时间轴
  • Vim:如何交换两个字符?

    有没有快速更改的命令 Cnotrol to Control While in normal mode with your cursor on top of the first character to swap you can type x
  • python 2.7编码解码

    我有一个涉及编码 解码的问题 我从文件中读取文本并将其与数据库 Postgres 中的文本进行比较 比较在两个列表内完成 从文件中我得到 jo 的 jo x9a 从数据库中我得到相同值的 jo xc5 xa1 common a for a
  • 在过滤器Javascript中添加两个条件

    我试图在过滤器中添加两个条件 但只有一个有效 第一个条件检查单词之间是否有空格 第二个条件检查words length 是否大于给定的最小长度 如果字符串是 hello world 然后我需要在分割它时得到 hello world 相反 我
  • 使用 jQuery 替换 XMLHttpRequest

    我对 JavaScript 库还很陌生 我想用 jQuery 替换我当前的代码 我当前的代码如下所示 var req function createRequest var key document getElementById key va
  • 这是 Oracle 可能的错误还是我遗漏了什么?

    数据库是 Oracle 10 2 0 1 0 64 位 在 Red Hat Enterprise Linux ES 第 4 版 Nahant 更新 8 上运行 在 SQL Plus 中 以下代码可以完美运行 var comment id n
  • 即使在客户端设置 Access-Control-Allow-Origin 或其他 Access-Control-Allow-* 标头后,仍会出现 CORS 错误

    我有一个使用以下命令生成的 Vue 应用程序webpack simple选项 我正在尝试做一个GET请求https api forismatic com api 1 0 method getQuote format json lang en
  • 如何在 R 中设置一个包含自身的类(对于树)?

    我需要一个可能包含也可能不包含自身的类 以用作 R 中的树 每个节点都有 Side Analytical Matrix MaxChi2 P 和 Sons 也是节点类型 第一次创建节点时 我需要子节点为空或 NULL 但后来我创建了它们并将它
  • 渐进式 JPEG 的完整缩略图需要多少字节?

    我正在尝试构建一个上传器 它分两步上传渐进式文件 上传创建缩略图所需的最小字节数 0 10 上传缩略图的其余字节 11 100 我希望这样做可以更早地提供缩略图 而无需上传单独的缩略图 拍摄使用以下命令创建的图像 3426398 字节 jp
  • 为什么使用 Dijkstra 算法而不是最佳(最便宜)优先搜索?

    从我到目前为止所读到的来看 这最佳优先搜索 https en wikipedia org wiki Best first search在找到到达目标的最短路径方面似乎更快 因为 Dijkstra 算法在遍历图时必须放松所有节点 是什么让 D
  • Ajax请求成功但结果为空

    我正在构建一个 Google Chrome 浏览器扩展 它使用 ajax请求将数据从网页发送到我的服务器 当前使用本地主机托管 这content script js在网页上下文中执行的文件 有关内容脚本的更多信息 http develope
  • 理想的 Android Studio gitignore 文件

    我最近创建了一个 Android 项目 但这是我第一次使用 Android Studio 我将该项目放在 Git 文件夹中 以便能够通过 Git 与其他开发人员远程工作 我发现默认的 gitignore 文件包含以下内容 iml gradl
  • RESTful API 设计:更新 (PUT) 中不可更改的数据是否应该是可选的?

    我正在实现 RESTful API 并且我不确定对于无法更改的数据的存在是否存在 社区接受 行为 例如 在我的 API 中 有一个 文件 资源 该资源在创建时包含许多在创建后无法修改的字段 例如文件的二进制数据以及与其关联的一些元数据 此外
  • 如何让mysql每隔1小时自动运行一次查询?

    我的数据库中有整数值 我想随着时间的流逝而减少它 我该怎么做 您不需要减少该值 您可以只存储基础值并创建一个视图来快速计算该值 像这样的东西 create table hourly base value int starttime date
  • 我在 Golem Shiny 应用程序中使用 {future} 和 {furrr} 函数时收到错误,它来自哪里?

    我目前正在开发一个名为 package name 的 Golem Shiny 应用程序 这是我的要求 我创建的一些函数需要使用来自 furrr and future 包 但是 每当我尝试运行它们时 都会收到以下错误 错误 没有名为 pack
  • jgit - 基于文件扩展名的 git diff

    我正在使用 JGit API https www eclipse org jgit https www eclipse org jgit 访问 git 存储库 在 git 存储库中 我还存储 txt 文件和其他文件格式 我遇到了一个要求 我
  • NetBeans - 将所有内容部署在一个 jar 中[重复]

    这个问题在这里已经有答案了 可能的重复 将外部库放入 JAR 中 https stackoverflow com questions 2034180 put external library to the jar 我有 NetBeans 6
  • 反馈两个进程的stdin和stdout

    我有两个进程通过标准输入和标准输出相互连接 假设我有进程 A 和进程 B B 的标准输出需要输入到 A 的标准输入中 A 的标准输出需要输入到进程 B 的标准输出中 是否有一种简单的方法可以用简单的命令来表达这种关系 或者是否有一个基本的