SMF services are one of the following three models:
The service does some work and then exits without starting any long running processes.
The service is restarted whenever its child process exits cleanly. A child process that exits cleanly is not treated as an error.
The service starts a long running daemon or starts several related processes that are tied together as part of a service contract. The contract service manages processes that it starts and any dependent services and their start order. You only need to manage the high-level service.