Unix pipeline 之父说 Unix 程式的哲学就是“只做一件事,并把它做好”:

平常有在使用 shell 的朋友想必对 | 这个符号不陌生,他可以把多个指令头尾相接,各展所长,让我们可以把各程式的力量组合起来成一个强大的 pipeline。

你可以用 pipe2 配合 fork 与 exec—没错,想起 Unix Programming 课本了吗 😉

用 C 写这样的程式既麻烦又容易写错,Colin Watson 写到他在维护 man-db 的时候为此写了专用的 pipeline library,现在决定要把 libpipeline 独立以 GPLv3 释出。

有趣吗?更详细的说明可以参考 libpipeline(3) 说明文件。