Yesterday I started working on some updates to zdaemon. zdaemon is pretty cool. It is a Unix-only tool that:
- Turns an arbitrary program into a fairly well-behaved daemon - Provides management of an applications output as a log file. - Provides start, stop and restart commands for starting or stopping applications. - Provides a status command for finding out if an app is running. - Provides a kill command for sending an app a signal (e.g. for log rotation). - Automatically restarts applications that exit abnormally, with a fairly reasonable approach for limiting restart attempts in case something is failing on startup. - Provides a number of useful configuration settings that can be managed using a clean (ZConfig-based) log file. It is written in Python, but it can control any program. We're using it to control spread, which is a C program. spread comes with it's own Red Hat startup script, but spread fails to detach from the controlling terminal. zdaemon makes it behave properly and provides a startup script that will work on any Unix-like system. It has 2 major disadvantages: - It is ours. :) We are bearing the burden of maintaining it. This is offset by the fact that it hasn't required much maintenance. - It is largely undocumented. This makes it much harder to use than it needs to be. It also makes it under appreciated. I made a start at fixing this yesterday: http://svn.zope.org/zdaemon/trunk/src/zdaemon/README.txt?view=auto It isn't very hard to use, so documenting it isn't really all that hard. I wonder if we should be using some other daemon manager. Arguably, there's no reason for the Zope project to maintain one if something is available that does what we need. Does anyone know of something that does what zdaemon does? daemontools seems somewhat close: http://cr.yp.to/daemontools.html Going from the documentation, it doesn't seem to be as clever about application restart. The documentation says nothing about distinguishing between normal and abnormal restarts or avoiding useless restarts when there are start-up errors. If we do continue to maintain zdaemon, we really should publicize it more widely, both to get credit and to get more people interested in maintaining it. Because I want the enhancements I'm making for another project I'm working on, I'm going to proceed with them for now. Thoughts? Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714 http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org _______________________________________________ Zope3-dev mailing list Zope3-dev@zope.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com