尽pipeignore_error,Solaris SMF仍会在子段错误上停止svc

我知道Solaris SMF杀死服务是因为孩子死亡 。 这是我的问题:我希望SMF忽略我的服务的孩子的任何崩溃转储(seg故障)。 我想我会实现这一点,通过添加到我的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 ] 

为什么SMF停止mysvc – 核心转储是在subprocess中 – 上述configuration没有生效?

 [ 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来显示我已启动的ignore_error

清单文件不是您的服务的规范configuration。 在较早的版本中,清单文件在最初导入之后根本没有被使用。 最近,在启动时读取清单文件以configuration所有服务。 今天没有系统可以改变清单,即使刷新了svccfg也会立即生效。

您可能只需要再次“svccfg导入”清单。 您也可以使用svccfg直接修改属性,然后刷新它。