Fork(), Waitpid(), and Pipe() problems.
I am having some trouble with the behavior of subsequent calls of waitpid() on fork()'ed processes with stdio redirected via pipe().
In trying to emulate "echo 12345 | grep 1" the correct output is generated, but it would appear that the grep process (via execvp) never dies, so the call to waitpid() on its pid stalls forever.
Any ideas?
Code @:
http://codepad.org/iIUMh1FZ
Re: Fork(), Waitpid(), and Pipe() problems.
You need a third fork to run the echo() and grep() suimutaneously. With your code, you will hang on the waitpid() in the echo().
-Erik