我知道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 ]
[ 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直接修改属性,然后刷新它。