On Tue, Feb 26, 2008 at 12:37:38PM -0800, Mark Fenwick wrote: > BTW if I change my method so that it only launches a single daemon > then killing this process results in the service being restarted.
That's normal SMF behaviour: when the last process in a non-transient service's process contract exits then svc.startd will restart it (when svc.startd is the restarter, of course). I don't think there's a way to change this, if that's what you're after (but SMF gurus will correct me if I'm wrong). If you have a service with multiple daemon processes and want the service restarted when any one of them dies then you'll need to make sure that the processes die by receiving a signal, rather than by exit()ing. If you need to catch the signal then re-post it (or another signal) after making sure to reset its handler to SIG_IGN. Nico --