2011-09-16 3 views
2

여러 개의 프로세스를 만들고 싶습니다 (각각 cmd + 인수 사용).루비 프로세스 만들기 및 출력 읽기

필요한 경우 죽일 수 있도록 작성된 프로세스의 pid이 필요합니다.

또한 출력을 (줄 단위로) 비 차단 방식으로 읽을 수 있기를 원합니다. 그렇지 않으면 피하고 싶지 않은 스레드를 만들어야합니다. 표준 입력을 먹이는 것은 보너스입니다.

루비에서이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

1

IO.popen을 사용하여 프로세스를 포크하십시오 (분기 된 프로세스에 해당하는 pid 메서드를 사용하는 IO 개체가 반환 됨). 블로킹을 피하려면 IO 객체에서 select을 사용할 수 있습니다.