Pipe
這個睡眠時間用管子要花多少時間
我試圖更好地理解管道。如果在命令行中鍵入以下過程將花費多少時間?睡覺 30 | 睡覺 40
我認為如果他們同時執行40秒?
$ time $(sleep 30 | sleep 40) real 0m40.004s user 0m0.001s sys 0m0.003s
是的。我相信管道在命令啟動後立即啟動並執行輸出和輸入操作。因此完成命令需要盡可能長的時間。
此外,*您無法預測管道操作的時間。*這完全取決於系統 CPU 在該特定時間點的 i/o 能力。
$ cat file test $ time grep test file test real 0m0.005s user 0m0.000s sys 0m0.003s $ time grep test file | grep test test real 0m0.004s user 0m0.002s sys 0m0.002s