gpt4 book ai didi

unix - 管道在 UNIX 中的疑问

转载 作者:行者123 更新时间:2023-12-01 10:14:22 25 4
gpt4 key购买 nike

在 K & P 的 The Unix Programming Environment 中,这样写道
"管道中的程序实际上是同时运行的,而不是一个接一个地运行。
这意味着管道中的程序可以是交互式的;”

程序如何同时运行?
例如:$ 谁 | grep 玛丽 | wc -l
grep mary 将如何执行直到 who 运行或 wc -l 将如何执行直到它知道以前程序的结果吗?

最佳答案

  • 所有三个程序都将启动。 grep 和 wc 等待通过标准输入输入
  • who 会输出一行数据,grep 会接收
  • 如果该行匹配,grep 会将其写入 stdout,然后 wc 将读取并计数
  • 与此同时,who 可能还在为 grep 等写出更多数据

每个程序都需要前一个程序的结果,但它不需要所有的结果就可以开始工作,这就是流水线可行的原因。

关于unix - 管道在 UNIX 中的疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2644130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com