忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 7336 | 回复: 5

监控进程方案设计思路? [复制链接]

论坛徽章:
0
发表于 2014-03-25 20:50 |显示全部楼层
  在关键设备上运行一应用软件,需要该应用软件系统7x24不间断的运行提供服务,
操作系统是linux2.6.3x的版本。
   针对该种应用的特性,为了防止应用系统崩溃退出或陷入死循环不工作状态,初步设定了以下的设计方案,
应用系统运行由两个进程组成,分别为监控进程和工作进程。监控进程与工作进程为父子进程关系。
应用系统启动时,首先是监控进程,把监控进程设置为守护进程的形态,然后fork一子进程C,
   子进程C启动后,使用execl的形式运行一编译好的应用工作软件,提供实质的应用功能。
监控进程启动后,通过命名管道的方式与工作子进程进行通信,读取工作子进程发来的信息帧,确认
工作进程还在正常的运行着,这点类似网络的心跳检测包,当然也使用 select+waitpid的方式非阻塞
的检测等待工作子进程是否崩溃退出。 如果监控进程连续4次没有从管道文件中读取到工作子进程发来的信息,
则认为该工作子进程已经陷入不正常的状态。则中断子进程的运行,重新启动子进程。
   如果检测到工作子进程有崩溃退出的情况,则重新启动工作子进程。

工作子进程在主工作任务线程,每隔2分钟则往管道文件写入一数据,告知监控进程我正在正常的工作中。

此简单的设计方法请各位高手指点下,是否合理,以及能够实现?
各位实际中对关键应用的保护的方案大概是怎样的呢?
另外有以下具体的技术问题也想请教一下各位高手,谢谢!
1 监控进程处于守护进程的状态时,fork一工作子进程,并以execl方式运行工作软件是否正确, 该工作软件
是一多线程架构软件,使用网络为各客户端软件提供服务。
2 是否能够在监控进程中以 select+waitpid的非阻塞的方式同时监控子进程是否退出和官道文件是否可读。


  

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
发表于 2014-07-25 14:54 |显示全部楼层
你这个监控进程与被监控进程容易相互影响。
其中一个挂了会影响另一个。

建议是分开到单独的进程。
这样监控进程和工作进程各自升级什么都不会影响彼此。

监控进程监测工作进程的方式也有很多种。
最简单的是工作进程写日志,监控进程读,看关键日志是否一直正常频率的更新。
还有其他各种IPC.

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-02-06 06:20:00
发表于 2014-09-05 16:30 |显示全部楼层
其实这个问题不难的

建立一个守护程序,每分钟调用你的应用程序
而应用程序在启动的时候,检测是否后台已经有相同的程序在运行,如果有,则退出;否则继续

论坛徽章:
0
发表于 2014-09-09 18:26 |显示全部楼层
谢谢各位的指点与建议,目前是采用进程间IPC的方式让一进程去监视另一进程是否在正常运行中。

论坛徽章:
26
金牛座
日期:2014-09-15 15:59:16程序设计版块每日发帖之星
日期:2015-11-24 06:20:00程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:00
发表于 2014-11-02 14:24 |显示全部楼层
kacy16 发表于 2014-03-25 20:50
在关键设备上运行一应用软件,需要该应用软件系统7x24不间断的运行提供服务,
操作系统是linux2.6.3x的 ...


erlang 的supervisor能做好你说的事。
http://www.erlang.org/doc/design_principles/sup_princ.html

论坛徽章:
0
发表于 2015-06-07 16:16 |显示全部楼层
参考我以前写的这个 taskeeper
http://bbs.chinaunix.net/thread-2039888-1-1.html
或者 daemontools
http://cr.yp.to/daemontools.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

SACC2017购票8.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月2日前

活动链接>>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP