当前位置:  技术问答>linux和unix

怎么做一个守护进程--linux下的嵌入式程序

    来源: 互联网  发布时间:2017-03-31

    本文导语:  大神给个思路,O(∩_∩)O谢谢 来检查一个程序是否在运行,如果不运行,就启动它; 1、如果出现错误,可以让程序重新启动;比如这个程序的某个线程占CPU过高,超过50%(一般线程占CPU小于10%); 2、出现错误,来...

大神给个思路,O(∩_∩)O谢谢

来检查一个程序是否在运行,如果不运行,就启动它;
1、如果出现错误,可以让程序重新启动;比如这个程序的某个线程占CPU过高,超过50%(一般线程占CPU小于10%);
2、出现错误,来记录错误信息;(因为有时候没有那么多时间来做长时间的测试;出现错误,也不知道到底哪个线程出现的错误)

谢谢!

|
1. 占用cpu过高的问题,在MontaVista Linux中有配置。可以指定进程在占用cpu达到某个规定的界限,比如5分钟之内持续超过50%, 会被内核强制终止

2. log记录一般借助于syslog

一般的做法是把药监视的进程作为你的子进程。利用SIGCHILD信号监视其是否在执行。
重新启动也不是一直蛮干,需要策略。


|
linux系统下存在两个信号量SIGXCPU、SIGXFSZ用于防止进程cpu或者IO操作的文件设置的,超过限制,内核会发送这两个信号到目标进程。这两个信号属于可捕捉的。有api可以设置这两个限制的值。不过用于这个来控制目标进程,意义不大。因为这两个信号第一目标进程可以捕捉,第二不能干太多的事情,最多也就是目标进程自己捕捉这个信号进行处理,外部无能为力。

所以综合你的说的,api与信号在这里意义不大。倒是可以用父进程fork出子进程,两个进程之间存在心跳,心跳消息里面带上守护进程需要知道的信息,由子进程去填充。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 守护进程调用普通进程,可以使其变成守护进程吗?
  • 孤儿进程与守护进程有何实质区别
  • 通过windows前台界面监控unix守护进程与守护运行的日志
  • 求教 "客户进程" 与 "守护进程" 间通信问题
  • Linux守护进程 的子进程 终端处理
  • 如何用函数判断某个守护进程处入运行中
  • 守护进程接收信号杀死或重启子进程 如何实现?
  • 在linux中如何关闭或者停用守护进程
  • 调用守护进程
  • 守护进程为什么要忽略SIGHUP信号呢?
  • 守护进程的信号问题(UNIX环境高级编程 中的问题)
  • 请问大家shell属于守护进程吗?
  • 如何用守护进程来监控另一个进程的状态
  • 进程守护者 process-monitor
  • 怎么向守护进程发SIGHUP
  • 守护进程里开线程可以吗?这样好不好?
  • 守护进程里如何运行另一程序?
  • 请教:在进程运行中将其转换成守护进程会怎么样?
  • 系统日志守护进程 sysklogd
  • 数字电视守护进程 GNOME DVB Daemon
  • 守护程序启动的怪问题
  • 在SOLARIS下如何把程序设为守护
  • 写一个主目录下修改文件内容,用守护进程把这个动作写在日志上
  • 请问:为什么我在守护进程里面用pthread_create来启动线程,经常会卡在那里阿?
  • Postfix 邮件策略守护进程 Valvula
  • GPS 跟踪器守护进程 g7ctrl
  • Gopher协议守护进程 Geomyidae iis7站长之家
  • Gopher协议守护进程 Geomyidae
  • 网络接口事件日志守护进程 NIELD
  • TCP 网关守护进程 mochad
  • HTTP服务守护进程 DHTTPD


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,