On Mon, Apr 29, 2002 at 05:29:37PM +0930, Tom Cook wrote: > On 0, Vineet Kumar <[EMAIL PROTECTED]> wrote: > > * Scott Henson ([EMAIL PROTECTED]) [020428 20:03]: > > > I need something that dynamically generates files on the file system. > > > Much like cgi. I need it to just happen when a program accesses the > > > file. It will only be reading said file not executing it. Anyone have > > > any ideas on how to do this on a woody system with ext3 fs? Thanks > > > > Getting more specific would help. Probably what you want is a fifo, and > > a process that continually writes to it. For example: > > > > mkfifo /tmp/datefifo > > > > while : > > do > > echo `date` >> /tmp/datefifo > > done > > > > Then, see what happens when you cat /tmp/datefifo in another console. > > (Try it a few times.) > > I don't quite understand what this is doing. What mechanism is used > to implement the fifos? And why does this happen? > > # while true ; do echo `date` >> /tmp/datefifo ; done & > # tail -f /tmp/datefifo > Mon Apr 29 17:27:23 CST 2002 > Mon Apr 29 17:27:26 CST 2002 > Mon Apr 29 17:27:26 CST 2002 > Mon Apr 29 17:27:26 CST 2002 > Mon Apr 29 17:27:26 CST 2002 > > and that is all I get? And why does the gnome-terminal with the while > loop in it crash after a few more seconds?
Problem with FIFO's is they need a reader and a writer connected and block until both are true. I'm not sure why the terminal crashes, but it ain't limited to gnome-terminal. I expect it has something to do with bash handling write/close errors on the FIFO which might generate an unhandled signal (SIGPIPE, for instance). BTW: FIFO's are handled in the kernel, and typically have a fixed buffer size (say, 4096 bytes). -- Eric G. Miller <egm2@jps.net> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]