Я знаю о Служба уничтожения SMF Solaris из-за смерти ребенка. Вот моя проблема: я хочу, чтобы SMF игнорировала любые аварийные дампы (ошибки сегментов) дочерними элементами моей службы. Я думал, что добьюсь этого, добавив это в свой svc.xml и выполнив обновление svcadm и перезапустив его.
<property_group name='startd' type='framework'>
<propval name='ignore_error' type='astring'
value='core,signal' />
</property_group>
Теперь в application-mysvc я вижу следующее: default.log (вопросы встроены в комментарии)
[ Feb 15 10:19:56 Enabled. ]
[ Feb 15 10:19:56 Executing start method ("/lib/svc/method/mysvc start") ]
tee: /dev/msglog: Permission denied
Started mysvc for server xxx
[ Feb 15 10:19:57 Method "start" exited with status 0 ]
[ Feb 15 10:26:41 Stopping because process dumped core. ]
[ Feb 15 10:26:41 Executing stop method (:kill) ]
[ Feb 15 10:26:58 Executing start method ("/lib/svc/method/mysvc start") ]
tee: /dev/msglog: Permission denied
Started mysvc for server xxx
[ Feb 15 10:26:58 Method "start" exited with status 0 ]
[ Feb 15 10:30:30 Stopping because service disabled. ]
[ Feb 15 10:30:31 Executing stop method (:kill) ]
Я написал на OTN но ответа пока нет.
Кроме того, я не могу получить listprop или svcprop для отображения моего startd ignore_error
Файл манифеста не является канонической конфигурацией для вашей службы. В более старых версиях файл манифеста вообще не использовался после первоначального импорта. В последнее время файлы манифеста читаются при загрузке для настройки всех служб. Ни в одной системе сегодня изменение манифеста не дает немедленного эффекта, даже после обновления svccfg.
Вероятно, вам просто нужно снова "svccfg import" манифест. Вы также можете использовать svccfg, чтобы напрямую изменить свойство, а затем обновить его.