如何用C程序在UNIX下实现检测程序里的进程状态

daihongwei 2012-07-19 06:40:48
如何用C程序在UNIX下实现检测程序里的进程状态,如果断掉就将该进程重启动??
程序起了50个进程,两天后ps -ef|grep 查不到进程了
...全文
108 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lol321 2012-07-21
  • 打赏
  • 举报
回复
在每个进程启动的时候,初始化进程信息,如进程ID、名称等,然后存入消息队列,接下来怎么做你应该知道的
沭水河畔 2012-07-21
  • 打赏
  • 举报
回复
用Shell或C都可以检测程序的状态。
Shell比较简单,就如楼上缩写。
C的话我目前想到的是读/proc/$pid/cmdline,因为不知道程序的pid,所以要遍历/proc/$pid。
---------------
不过,楼主分明是程序出问题了,无故挂掉。应该花精力debug,而不是等它挂掉就重启。
qq120848369 2012-07-21
  • 打赏
  • 举报
回复
写一个wrapper程序,fork+exec+waitpid就可以了.
Universe_Admin 2012-07-19
  • 打赏
  • 举报
回复
用system()函数写shell脚本就行了,隔多久ps -ef|grep xx|wc -l一下,数目不对就重启
crazy1003 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
我用bash也可以搞定
[/Quote]
少了两个字
我感觉用bash也可以搞定
crazy1003 2012-07-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
我用bash也可以搞定
[/Quote]

发掉了两个字,
我感觉用bash也可以搞定
crazy1003 2012-07-19
  • 打赏
  • 举报
回复
我用bash也可以搞定

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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