问题标签 [piping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
543 浏览

linux - 将两个 tar 进程的输出通过管道传输到单个子进程中

我可以像这样将两个命令传递给一个孩子(编辑:实际上你不能这样做,请参阅 sarnold 答案):

哪个输出

我想对 tar 的输出做类似的事情。目前我正在分析存储在单个 tar 文件中的数据,如下所示:

whereMySerialiser以准备好MyAnalyser读取的形式预处理数据。

我现在想将两个 tar 文件的输出通过管道传输到MyAnalyser.

我尝试了以下但输出到达终端。

我可以用 shell 做到这一点吗?还是我需要重新打包我的 tar 文件?

0 投票
3 回答
294 浏览

java - 从java程序运行批处理文件会破坏管道吗?

我试图从我的 Java 程序中运行一个批处理文件,但我遇到了一些奇怪的行为。

这通常运行良好,但我发现批处理文件中的管道命令不起作用。有什么建议么?

0 投票
2 回答
2320 浏览

apache - 如何使用 grep 过滤 Apache 虚拟主机列表

我有一个配置有许多虚拟主机的 Apache 服务器,并且希望能够像这样使用 grep 过滤它们。

.. 但是,这种方法不起作用 - 我仍然看到列出了我的所有虚拟主机。有什么想法我可以实际做到这一点吗?

这是 httpd -S 的输出示例

0 投票
1 回答
615 浏览

php - 如何使 PHP 多线程流而不是等待完成

我正在使用以下 CURL 多线程向 PHP 进程添加多线程:

这称为使用,例如

在 script.php 里面我有:

但数据停滞不前。调用 multithread_it 的脚本会等到所有脚本都完成后才会显示突然跳到屏幕上的数据。

这只是一个脚本的示例数据,它实际上需要大约 10 分钟才能运行,但与 flush、ob_flush 和确切函数使用的概念和代码完全相同。

有什么想法可以让 script.php 中的内容在加载时显示在父脚本中吗?

0 投票
3 回答
1549 浏览

awk - 到 awk 的管道挂起

我正在尝试将tshark输出通过管道传输到awk. tshark 命令本身工作正常,当通过管道传输到其他程序时cat,它工作正常(实时打印输出)。但是,当通过管道传输到 awk 时,它挂起并且没有任何反应。

这是一个更简单的版本:

并且比较,以下工作正常(虽然不是很有用):

提前致谢。

0 投票
1 回答
421 浏览

c - c语言中linux的迭代管道实现

我知道这个问题被问了很多,但我仍然对如何解决我的问题感到困惑。我试图编写处理命令行输入的代码,以解决多个管道的可能性。但是,我没有成功,我的代码虽然执行不正常。错误是,一旦我分叉了孩子,在第一个命令执行后,我无法进入管道进入的下一个命令。如何在不获取错误文件描述符的情况下移动到管道中的下一个命令?这是一段代码;

0 投票
2 回答
3099 浏览

powershell - 在 PowerShell 中插入对象/属性/方法

在 PowerShell 中,您可以通过管道进入 Cmdlet 和脚本函数。但是有可能通过管道传递到对象、属性或成员函数中吗?

例如,如果我有一个数据库连接对象$dbCon,我希望能够这样:

我知道可以使用Foreach-Object或使用获取对象作为参数的 Cmdlet 来实现相同的功能 - 我想直接通过管道传递到对象或其成员的原因是为了实现优雅并保持 OOP 风格(使用对象的方法而不是将对象作为参数发送)

可能吗?


编辑:

看起来人们不理解我的问题,所以我需要澄清一下:

PowerShell 可以通过管道传输到正常功能。我可以写:

并得到 结果。但是当我尝试通过脚本方法使用该技术时:
Got 1
Got 2
Got 3

我收到一条错误消息:(Expressions are only allowed as the first element of a pipeline.添加 () 对 BTW 没有帮助)。我正在寻找的是一种使该命令以与全局函数相同的方式工作的方法。

0 投票
4 回答
8511 浏览

c - 使用 pipe() 系统调用

我一直在尝试使用 pipe() 系统调用来创建一个支持管道的 shell(使用任意数量的命令)。

不幸的是,我在使用 pipe() 时运气不佳。在花了几天时间查看各种在线资源之后,我决定编写一个与执行效果相同的过于简化的程序,ls | sort看看我是否可以让管道为两个兄弟、子进程工作。这是代码:

管道是在父进程中创建的,我知道在 execvp() 调用之后,每个子进程都会继承 pipe() 在父进程中创建的文件描述符。对于该ls过程,我使用 dup2() 将其标准输出 (1) 重定向到管道的写入端,对于该sort过程,标准输入 (0) 被重定向到管道的读取端。

最后,我等待两个进程完成后再退出。

我的直觉告诉我这应该有效,但事实并非如此!

有什么建议么?

0 投票
1 回答
1256 浏览

php - PHP 脚本无法使用电子邮件管道写入文件

我编写了一个简单的脚本来处理收到的电子邮件。以下是经过测试的场景:

A. 脚本功能是发送一封电子邮件,表明在管道地址收到了一封电子邮件。

- 浏览器测试 - 成功

- 由 CLI 测试 - 成功

-通过管道测试 - 成功

B. 脚本功能是解析文件并将其写入文件夹,并发送电子邮件以指示在管道地址收到电子邮件

- 由浏览器测试 - 文件写入和电子邮件发送。

- 由 CLI 测试 - 编写文件并发送电子邮件。

- 通过管道测试 - 未写入文件,但发送了电子邮件。

我已将脚本简化为读取和写入管道消息的基本功能。我怀疑这个问题是权限问题,但我找不到任何支持证据。

我不精通 CLI,但可以执行一些任务。我不确定在哪里可以找到管道场景的日志文件。

管道在所有测试场景中都能正常工作。以下是通过管道调用时失败的简化代码:

谢谢你的帮助。

修改代码为:

错误消息已通过电子邮件发送。怎么办?管道调用的脚本以什么用户身份运行?

0 投票
1 回答
712 浏览

php - Craigslist 等 PHP 中的电子邮件管道 - 如何关联真实电子邮件?

我已经看到了一些 php 脚本的示例,它们读取电子邮件标题并解析数据以将新电子邮件发送到真实电子邮件地址。

我的一个问题是....如何关联别名和真实电子邮件地址?我是否将别名电子邮件存储到 MySQL 并将其链接到真实的电子邮件地址并使用脚本进行检查?

我正在考虑在管理员中创建一个别名电子邮件生成器,这样我就可以在需要时为每个帖子生成别名电子邮件。

谢谢你。