From: Alex Young Date: 2007-02-22T19:13:16+09:00 Subject: Re: ruby tail benjohn@fysh.org wrote: >> Kevin Jackson wrote: >>>> Actually, I am not sure how this would work. If I do this, I get no >>>> output from the file: >>>> >>>> `tail -f sim.out` >>>> >>>> So there is something basic I am missing here. Any help? >>> it shells out to the process and waits for it to return - with -f does >>> tail ever return? if not you may not be able to use it - AFAIK ` and >>> exec are the same - someone with better ruby knowledge may be able to >>> offer a solution - perhaps using threads or something >> Use IO.popen: >> >> IO.popen('tail -f sim.out'){|f| >> while line = f.gets >> p line >> end >> } > > Out of interest, the blocking call is "gets" here, right? Can you use > Kernel.select on a bunch of those handles? > I haven't ever done that, but it looks like it from the docs... -- Alex