【发布时间】:2014-03-17 20:22:07
【问题描述】:
我的以下代码取自Beej’s Guide to Unix IPC 的“Pipes” section。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(void)
{
int pfds[2];
pipe(pfds);
if (!fork()) {
close(1); /* close normal stdout */
dup(pfds[1]); /* make stdout same as pfds[1] */
close(pfds[0]); /* we don't need this */
execlp("ls", "ls", NULL);
} else {
close(0); /* close normal stdin */
dup(pfds[0]); /* make stdin same as pfds[0] */
close(pfds[1]); /* we don't need this */
execlp("wc", "wc", "-l", NULL);
}
return 0;
}
此代码允许用户查看特定目录中有多少文件。如何编辑此代码以实现更长的管道cat /etc/passwd | cut –f1 –d: | sort?有谁知道如何做到这一点,因为我完全被卡住了。任何帮助将不胜感激。
【问题讨论】: