Chris wrote: > Also, is it possible to have smf run processes that stay in the > foreground?
Such an arrangement is possible by telling startd that the service has a duration of "child". See svc.startd(1M). > Wouldn't this be the most reliable way for smf to know if > a process is running or not? No. Perhaps surprisingly, it is less reliable. One problem is that such an arrangement breaks down in the face of svc.startd failure. SMF uses process contracts to track processes, which are more reliable than the traditional wait() mechanism in that events of interest are reliably communicated to the listener, even if the listener itself dies and is restarted. Another problem is that we use the completion of the start method to indicate that a service is ready. When running a process in the foreground, you lose the ability to discern when the service has completed starting up. (We could have solved this problem by requiring application changes, but that is a non-starter in most cases). Dave