ruby создает процессы и читает вывод

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

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

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

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

1 ответ

Решение

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

Другие вопросы по тегам