linux– 命令管道在* NIX中如何工作?

linux– 命令管道在* NIX中如何工作?,第1张

概述当我这样做:find . -name 'pattern' | grep 'another-pattern' 流程,查找和grep一起产生了吗?我的猜测是肯定的.如果是这样,那么这是如何工作的?:yes | command_that_prompts_for_confirmations 如果是,则继续向stdout发送'y',并且command_that_pro

当我这样做:

find . -name "pattern" | grep "another-pattern"

流程,查找和grep一起产生了吗?我的猜测是肯定的.如果是这样,那么这是如何工作的?:

yes | command_that_prompts_for_confirmations

如果是,则继续向stdout发送’y’,并且command_that_prompts_for_confirmations在读取其stdin时读取’y’,是如何知道何时终止?因为如果我单独运行yes而不将其输出传递给其他命令,那么它永远不会结束.

但是如果管道命令不能同时产生所有进程,那么如何知道要输出多少?这对我来说是22.有人能解释一下这个管道在* NIX中是如何工作的吗?

最佳答案从the wikipedia page:“本身,yes命令输出’y’或任何被指定为参数,然后是换行符,直到被用户停止或以其他方式被杀死;当用管道输入命令时,它将继续直到管道中断(即,程序完成其执行.)“

是的,不知道何时终止.但是,在某些时候输出“y”到stdout将导致错误,因为另一个进程已经完成,这将导致管道损坏,并且是将终止.

顺序是:

>其他程序终止
> *** 作系统关闭管道
>是尝试输出字符
>错误发生(破管)
>是终止@H_502_36@ 总结

以上是内存溢出为你收集整理的linux – 命令管道在* NIX中如何工作?全部内容,希望文章能够帮你解决linux – 命令管道在* NIX中如何工作?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存