#include #include #include int main () { int ret, pid, i; int fd[2]; char buf[5000]; pipe (fd); pid = fork (); if (!pid) { close (fd[0]); for (i=0; i<3000; i++) buf[i] = 'A'; write (fd[1], buf, 3000); for (i=0; i<10; i++) buf[i] = 'B'; write (fd[1], buf, 3000); wait (NULL); wait (NULL); } else { close (fd[1]); pid = fork (); if (!pid) { nice (20); ret = read (fd[0], buf, 4000); buf[ret] = '\n'; write (1, buf, ret+1); } else { ret = read (fd[0], buf, 10); buf[ret] = '\n'; write (2, buf, ret+1); } } return 0; }