I recommend daemontools for Unices.
I can only second that. Writing daemons to be compatible with daemontools (i.e. forget about almost all aspects of running as a daemon) automatically makes them compatible with tons of other tools that copied the daemontools idea (almost all alternatives to a classic init, xinetd, and even the nightmare systemd).
See also:
Just another little note: If you write your daemon to be compatible with daemontools, it can be incredible compact. A hello world deamon can be written as a bourne shell script in less than 10 lines of code:
#!/bin/sh # blabbyd.sh: a blabby daemon, version 2 # # note: variables now provided from environment with envdir: # # .env/MESSAGE # .env/PAUSE # echo "starting blabbyd..." # loop forever while : do echo "blabbyd: ${MESSAGE}" echo "blabbyd: sleeping for ${PAUSE} seconds..." sleep ${PAUSE} done # that's all, folks!
(Copied right out of the djb way)
All that you think is missing for a daemon is already implemented by daemontools or some other, compatible software. You don't have to reinvent the wheel.
Alexander
In reply to Re^2: Looking for a daemonizing module
by afoken
in thread Looking for a daemonizing module
by Dallaylaen
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |