in reply to Unsafe signals?

It may be easier to shuffle off alarming to a parent process:

Monitor_Monitor => monitors Monitor => monitors RealWork => monitors parent

I'm not really very good at this art thing. Anyway, we have a super parent monitoring your monitor. And your monitor monitoring both the subprocess it is looking after, and its parent process. Anything dies, other than itself, and you signal your alarm.

Alternatively, throw your monitor into the inittab, set it to restart on failure, and then throw an alarm every time you start, just as a place to begin. This means that each time the system reboots, you'll get an alarm (which may not be a bad thing either - if this is a 24/7 server, then rebooting is a bad thing anyway). You'll of course want to drop root privileges immediately on start, but otherwise it's nothing special to be started this way.