lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On 28. juni 2013 21:01, William Ahern wrote:
On Fri, Jun 28, 2013 at 02:42:19PM +0200, Bernd Eggink wrote:
On 28.06.2013 13:47, ms2008vip wrote:

           I'd like to make the output of tail -F or something similar
           available to me in Lua without blocking or blocking.
       If the file gets truncated or log rotated, the program will detect
       it and will return to the start. This seems to be
       a level 1 question but looks strange to me. I just can't figure it
       out. Does anyone could share some code? TKS
  				
In Linux you can use poll() or rpoll() from the luaposix library
(https://github.com/luaposix/luaposix)
poll doesn't work on regular files. Or rather, it's defined to immediately
signal readiness, which makes it useless for this case.

	"Regular files shall always poll TRUE for reading and writing."

	-- http://www.opengroup.org/susv3xsh/poll.html



yes, by Bernd mentions output of process 'tail -F'. If he want output from an other program into Lua, it will most likely involve a pipe or a fifo, and pipes and fifos can be poll()'ed or select()'ed. Use a pipe if you want to fork and exec the 'tail -F' directly from Lua, or just make a named /path/to/fifo and do 'tail -F > /path/to/fifo'



Egil