This appears to be the information I was missing. Thinking back, I definitely
made a change that increased the lines written by the child processes, and this
also explains the behavior of the peeked code changing when reading the output.
Thank you.
Thing is, I have no use for any of the additional functionality that come with
those other solutions. The processes are completely separate, with no sort of
communication/messaging needed. It would take a significant rewrite to
implement, and I have exactly no experience with any of them.
Other
To do some simple parallel processing I have two nim programs, where one simply
runs a number of the other through osproc's `startProcess`, waits for them to
end, and then does some final stuff with the outputs. The child program can be
run by itself, with exactly the same parameters as given by