What's the problem you're having with it? I think this was discussed on irc recently? This was the example I gave of using process_create which works:
process_create('/bin/cat',
[],
[stdout(pipe(Out)),stdin(pipe(In))]),
write(In, "hello"), nl(In), close(In),
read_line_to_codes(Out, Codes).