My
ProcessCommunicator[
^] article may give you an idea of how to do that and some of the pitfalls.
I'd also like to point out that maybe the console app that processes the output needn't actually execute the command. You can write a processor app that reads its input from a pipe:
someutility | processor