Solaris SMF kill service because child dies

smfsolaris

I am using SMF to manage a service under Solaris10.

This service is itself a process manager, and forks off many child processes, some of which die occasionally (or are killed for various reasons). The service process itself is very robust and never dies however.

The problem I have is that when I manually kill one of these child processes using the KILL signal, SMF will restart the main service:


[ Aug 27 08:07:06 Stopping because process received fatal signal from outside the service. ]

Is there a way I can configure SMF or the service manifest such that SMF will not kill the service if one of the service sub-processes gets killed?

TIA

Best Answer

You need to set the following in your manifest:

<property_group name='startd' type='framework'>
    <!-- sub-process core dumps shouldn't restart session -->
    <propval name='ignore_error' type='astring' value='core,signal' />
</property_group>

Or you can do it on the fly with:

svccfg -s svc:/your/service:default
svccfg> setprop startd/ignore_error = astring:"core,signal"
svccfg> ^D
Related Topic