- In your script, a while(1)-like cycle with some kind of sleep or select(undef, undef, undef, [time]) will do.
- Use a lock file and write your pid ($$) in it. In this way, daemon startup code can check for lock file, and if the pid stored in it is not alive (kill 0, $pid) you can safely start the current instance and overwrite the pid file.
- A simple way is to append a line in your /etc/rc.d/rc.local file, like the following:
# Start my daemon...
logger "My Daemon starting. All you out there, watch out!"
- AFAIK, it isn't possible to "tolerate" a SIGKILL. However, you can restart your deamon ASAP. To achieve that, you probably want to modify your /etc/inittab file. In this way, your init process takes care of restarting your daemon when it detects that it is not running. Put a line like this in inittab:
# Run my daemon in runlevels 345
Are you running on *nix, are you? :-)