ruby создание процессов и чтение вывода - PullRequest
2 голосов
/ 16 сентября 2011

Я хочу создать несколько процессов (каждый с cmd + аргументами).

Мне нужно pid созданного процесса, чтобы я мог убить его при необходимости.

Я также хочу иметь возможность читать его вывод (построчно) неблокирующим способом (в противном случае мне нужно создавать потоки, которых я бы хотел избежать). Подача стандартного ввода является бонусом.

Какой лучший способ сделать это в ruby?

1 Ответ

1 голос
/ 17 сентября 2011

Используйте IO.popen для форка процесса (он вернет объект IO с методом pid, соответствующим разветвленному процессу). Вы можете select на объекте ввода-вывода, чтобы избежать блокировки.

...