title: Debugginng a daemon that terminates unexpectedly
body: <p>I am writing a daemon in c on linux. It traps signals SIGHUP, SIGTERM, SIGINT, and SIGQUIT, logs them using syslog and quits. If it receives SIGSEGV it core dumps. When these occur everything happens as expected but once in a while it quits...does not exit cleanly, does not log the signal, and does not leave a core dump. I am stumped and not sure how to debug the problem. What ways can it quit other than these signals? Is there an obvious answer, something that I am missing? What other debugging practices do you recommend to debug such a seemingly sporadic problem in a daemon process?</p>