linux管道和重定向

管道

     管道应该是等左边的程序执行完,才使用左边的程序的输出执行右边的程序。

     

     但是在测试的时候,如果左边的程序无限循环且不等待的输出,那么左边的程序执行时右边的程序也会执行,个人感觉这是linux的机制,因为缓冲区溢出了所以不得不启动右边的程序来使缓冲区空出来。

 

 

管道和重定向的区别

1.

左边的命令应该有标准输出|右边的命令应该有标准输入

左边的命令应该有标准输出>右边只能是文件

左边的命令应该有标准输入<左边只能是文件

 

2.

管道触发两个子进程执行“|”两边的程序

  重定向是在一个进程内执行的。





原文地址:https://www.cnblogs.com/dchipnau/p/5255383.html