#include #include #include #include #include #include int main(int argc, char *argv[]) { pid_t p; int t[2]; assert(pipe(t) == 0); p = fork(); if (p == 0){ close(t[0]); dup2(t[1],STDOUT_FILENO); close(t[1]); execlp("ls","ls",NULL); assert(0); } p = fork(); if (p == 0){ int fd = open("output.txt",O_WRONLY|O_CREAT|O_APPEND,0644); assert(fd != -1); close(t[1]); dup2(t[0],STDIN_FILENO); close(t[0]); dup2(fd,STDOUT_FILENO); close(fd); execlp("wc","wc",NULL); assert(0); } close(t[0]); close(t[1]); wait(NULL); wait(NULL); return 0; }