By Alasdair Lumsden on 19 Jan 2010
I can never ever remember how to do this and googling for it always takes ages, so I thought I’d jot it down here.
When Solaris SMF starts a process, it tracks that process and all its children. If any of those children coredump, SMF treats it as a failure and puts the state into maintenance mode. Not terribly useful if you’re launching buggy software like FFMpeg.
The solution? Simple! Slap this in your SMF Manifest just below an </exec_method> block (within the same XML level as the <exec_method>), eg:
<exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'> <method_context/> </exec_method> <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>