I want to create multiple processes (each with cmd + arguments).
I need the pid
of the created process so I can kill it if needed.
I also want to be able to read its output (line-by-line) in a non-blocking way (otherwise I have to create threads which I would like to avoid). Feeding its standard input is a bonus.
What's the best way to do this in ruby?
Use IO.popen
to fork the process (it will return a IO
object with a pid
method corresponding to the forked process). You can select
on the IO object to avoid blocking.