Collect output from child workers via pipes