David Powell wrote: > Mark Fenwick wrote: > > wadworth# ctwatch -r 1718 > > CTID EVID CRIT ACK CTTYPE SUMMARY > > > > *** kill 455 - nothing ***** > > > > *** kill 453 ***** > > 1718 1071 crit no process process 453 received a fatal signal > > 1718 1072 crit no process contract empty > > > > > > BTW if I change my method so that it only launches a single daemon > > then killing this process results in the service being restarted. > > It sounds like PID 455 isn't dying from the signal. Instead it is > voluntarily exiting after receiving the signal. This cannot be > detected by the kernel, and therefore won't result in a contract > event.
FYI, I've filed 6668167 explicitly generated process contract events to cover a possible solution to the general problem of process failures that cannot be detected by external observers. Another solution -- frequently-mentioned but unimplemented -- are service monitors. Roughly speaking, these would let you provide a method that would verify all the necessary pieces of your service are running and providing the required service. See 6533008 support service monitors for more. Dave