首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solaris SMF杀死服务,因为孩子死了

Solaris SMF杀死服务,因为孩子死了
EN

Server Fault用户
提问于 2010-08-26 22:17:00
回答 3查看 3.5K关注 0票数 6

我使用SMF来管理Solaris10下的服务。

该服务本身就是一个流程管理器,它将许多子进程分叉,其中一些进程偶尔会死掉(或由于各种原因而被杀死)。但是,服务流程本身是非常健壮的,并且永不消亡。

我遇到的问题是,当我使用杀死信号手动杀死其中一个子进程时,SMF将重新启动主服务:

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

是否有一种方法可以配置SMF或服务清单,以便如果服务子进程中的某个进程被杀死,SMF将不会关闭服务?

提亚

EN

回答 3

Server Fault用户

发布于 2010-08-27 04:41:20

您需要在清单中设置以下内容:

代码语言:javascript
复制
<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>

或者你可以随心所欲地:

代码语言:javascript
复制
svccfg -s svc:/your/service:default
svccfg> setprop startd/ignore_error = astring:"core,signal"
svccfg> ^D
票数 5
EN

Server Fault用户

发布于 2013-03-29 09:49:52

我刚才也遇到了同样的问题,并且能够通过更改服务流程本身来启动封装在/usr/sbin/ctrun -l child <command-and-arguments>中的子程序来解决这个问题。清单本身使用“子”服务模型。

详细信息请参见contract(4)ctrun(1)

票数 3
EN

Server Fault用户

发布于 2013-12-02 18:35:52

如果您尝试进行动态方法,并获得没有这样的属性组'startd‘,您需要首先添加该属性。

代码语言:javascript
复制
svccfg -s svc:/your/service:default
svccfg> addpg startd framework
svccfg> setprop startd/ignore_error = astring:"core,signal"
svccfg> ^D
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/175008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档