> We have implemented an architecture, where there is a Master-Process
> that monitors few Slave-processes. This Master-process keeps an eye
> on the Slave Process, and keep restarting them, when ever one of
> these Slave Processes die (or) get killed.
> 
> The way we designed, this Master process; is that it can restart any
> particular slave-process only ( N number of times ), after which it
> dies.
> 
> Question : If I want to implement a Manifest, such that SMF only
> monitors the Master-Process and not the Slave-processes. And when the
> Master process dies, the SMF should start the Master-process and the
> Slave-Processes.
> 
> How do I implement a manifest such that, only the Master-Process is
> monitored by the SMF, and not the Slave-Processes, even though the
> Master and the Slave processes are started by the same executable ?

  If you don't want the slave processes to be monitored by SMF, but you
  *do* want the master process to be monitored by SMF, you will need to
  put the slave processes in their own contracts.  This can be done
  using either ctrun(1) or libcontract(3lib).

  If you want a slave process to die when the service is restarted,
  then you should either specify '-o noorphan' on your ctrun invocation
  or put CT_PR_NOORPHAN in the process contract's parameter set.  This
  will kill the slave process when the contract's owner dies.

  Dave


Reply via email to