ruby создает процессы и читает вывод
Я хочу создать несколько процессов (каждый с аргументами cmd +).
мне нужно pid
созданного процесса, чтобы я мог убить его при необходимости.
Я также хочу иметь возможность читать его вывод (построчно) неблокирующим способом (в противном случае мне придется создавать потоки, которых я бы хотел избежать). Кормление его стандартным вводом является бонусом.
Какой лучший способ сделать это в рубине?
1 ответ
Решение
Использование IO.popen
чтобы завершить процесс (он вернет IO
объект с pid
метод, соответствующий разветвленному процессу). Вы можете select
на объекте ввода-вывода, чтобы избежать блокировки.