in reply to Efficient Daemon Looping?

The sleep solution is quite good.

Bash has builtin mail notification (customizable with environment variables), it works by checking the mail file before issuing a prompt if a certain time (60 sec) has elapsed since it last checked.

If, however, you really want a solution without sleep, see Documentation/dnotify.txt in the linux source. That describes a linux-specific way to watch for a changed file. I have not ever tried those fcntls ever, so I don't know the details.

Update 2006 jul 14: a similar way to dnotify is leases, which is also a couple of linux-specific fcntls, but allows to watch a file for when it's opened, not when it's written to. They are documented in the fcntl man page.