Question

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?

Était-ce utile?

La solution

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top