高分400相送,进程监控方面的问题,解决了另开贴给分

shaolinshia 2005-04-13 11:47:57
我要实现的是第三方进程,负责监控制定进程,当被监控进程出现任何异常时,监控进程执行特定程序,关闭外部设备。求解决思路,若有类似源码,400分全部相送.在线等,望高手指点。
...全文
156 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dozo 2005-04-14
  • 打赏
  • 举报
回复
去查一下Demon进程吧
gaoxianfeng 2005-04-14
  • 打赏
  • 举报
回复
楼上说那个说法错误有什么依据吗?难道产生了一个错误还能仅仅死一个thread而不是导致一个process全玩完?有这样的实现吗?如果其他的thread全部陷入block或者死循环了,那么这个不能算程序本身执行的错误,只能算是程序员写的不好罢了……

难道只有令进程死掉才叫错误?
如果有一个线程执行错误 依据楼主的要求如果级别够 就应当报错了,

我的意思你没有完全理解 , 我认为不能仅靠一个线程死活\好坏就判定整个进程如何如何 至少别的线程应该定时把自己的运行信息传给监控线程.

就象我理解你的论断
那么这个不能算程序本身执行的错误,只能算是程序员写的不好罢了……
难道程序本身执行错误就不是程序员的问题?
nodummy 2005-04-14
  • 打赏
  • 举报
回复
说了不要给我分的……
nodummy 2005-04-14
  • 打赏
  • 举报
回复
要用到第三方监控的东西也只有自己的程序不能捕捉的异常,如果异常都可以自己捕捉了以后通知其他的线程了那直接处理掉不就行了?还要费什么事用第三方的进程来处理啊?
shaolinshia 2005-04-13
  • 打赏
  • 举报
回复
其实这是个类似WATCHDOG的东西,就是预防程序出错,一旦程序出错,就采取相应措施,关闭外部设备。现在我不清楚程序出错的机制,当程序出错时它是不是会向外部发送一个信号,那么这样我就可以用一个监控的进程捕捉这个信号。
slone 2005-04-13
  • 打赏
  • 举报
回复
问题太模糊
gaoxianfeng 2005-04-13
  • 打赏
  • 举报
回复
一般是用 向另外一个进程发送相应的信号量
为了防止进程异常退出或者接收外部中断退出 应该把一些特殊的中断服务程序重新注册

以上就够了 但为了一些不可重注册的信号 可以再加上主动轮询进程状态
shaolinshia 2005-04-13
  • 打赏
  • 举报
回复
多谢楼上各位兄台的讨论点拨了,现在至少有个方案了,我对这块还不是太熟,你们有相关这方面的源码吗?
nodummy 2005-04-13
  • 打赏
  • 举报
回复
楼上说那个说法错误有什么依据吗?难道产生了一个错误还能仅仅死一个thread而不是导致一个process全玩完?有这样的实现吗?如果其他的thread全部陷入block或者死循环了,那么这个不能算程序本身执行的错误,只能算是程序员写的不好罢了……

循环发送消息我认为没有什么不可以,但是要注意保证一个其当的时间间隔,否则要么达不到实效性,要么就会影响性能。

另外,楼主要看清楚了自己的线程的实现方式……某些线程实现方式天生达不到你的要求,你的这个只有抢占式的multi-thread才能做到。
gaoxianfeng 2005-04-13
  • 打赏
  • 举报
回复
看来只有这样了,在被监控进程中创建一个向监控进程发送消息的循环线程,当监控不能收到消息时,然后关闭外部设备,你觉得这样行的通吗?


错 如果你其它程序都不正常 只有发送消息的循环线程是好的 怎么办?
还是要在关键位置加些处理 ,至少设置些全局量 能够通知到循环线程 而且如果你如此做就不如我上面的方法好

问题不严重程序可控时 自主在有问题时发信号 给相应进程
问题严重会退出,这时被监控进程会收到系统给的信号,此时就通过你在程序运行开始时注册更新过的信号处理程序来处理 发送个 信号给 相应的监控进程

shaolinshia 2005-04-13
  • 打赏
  • 举报
回复
看来只有这样了,在被监控进程中创建一个向监控进程发送消息的循环线程,当监控不能收到消息时,然后关闭外部设备,你觉得这样行的通吗?
nodummy 2005-04-13
  • 打赏
  • 举报
回复
进程出错应该是自身会收到信号来着……

说实话要检测的话,最好实现在kernel里面……
gaoxianfeng 2005-04-13
  • 打赏
  • 举报
回复
不会 你只能自己写
况且看你的意思 还有很多错误种类 级别

所以你还是让被监控程序针对不同错误 发送不同信号吧

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧