From: Markus Schirp Date: 2007-10-15T04:29:18+09:00 Subject: Re: Capturing the output of an external program line by line Am Mon, 15 Oct 2007 04:23:41 +0900 schrieb Aditya Mahajan : > Hi, > > I want to run an external program in ruby. The external program takes > a long time to execute. While running, it gives the information on > stdout about what it is doing. How can I run the external program > inside ruby so that I can capture this information, and display it on > stdout? I tried %x{...}, `...` and system("...."), but all of them > give me a result AFTER the external program has finished executing, > not during its execution. > > Thanks, > Aditya > in,out = IO.popen($command) in refers to standart input of the program out to the standart output you can receive lines from the program using in.gets. Beware, "in" may be a reserved word in ruby.