-keiji- Grrrrr .... | Un petit exemple d'utilisation des pipes en C sous linux si ça peux t'aider à comprendre le principe
Code :
- #include <stdlib.h>
- #include <stdio.h>
- #include <sys/types.h>
- #ifndef HAVE_NOT_UNISTD_H
- # include <unistd.h>
- #endif
- #ifdef HAVE_NOT_PID_T
- typedef int pid_t;
- #endif
- int main(int argc, char **argv)
- {
- int p[2];
- pid_t pid;
- if (pipe(p) < 0)
- fprintf(stderr, "pipe" );
- if ((pid = fork()) < 0)
- fprintf(stderr, "fork" );
- if (!pid)
- {
- close(p[0]);
- dup2(p[1], 1);
- execlp("ls", "ls", "-l", "/dev", 0);
- fprintf(stderr, "execl" );
- }
- else
- {
- close(p[1]);
- dup2(p[0], 0);
- execlp("more", "more", 0);
- fprintf(stderr, "execl" );
- }
- return 0;
- }
|
A+ |