Pipe

這個睡眠時間用管子要花多少時間

  • June 20, 2020

我試圖更好地理解管道。如果在命令行中鍵入以下過程將花費多少時間?睡覺 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

引用自:https://unix.stackexchange.com/questions/594070