社区
Linux/Unix社区
帖子详情
【问一下关于后台定时监控程序的问题】
frankzch
2005-12-03 09:10:41
现在我要编写一个后台监控程序,大致就是监控指定的一个进程,要保证这个进程时刻在运行,如果它退出了,就要重新启动它。不知道该怎么实现?
我怎么想都必须用一个死循环来实现:在一个无限循环内,每隔一段时间就去检测指定的进程是不是存在。
死循环肯定是不行的,那我该怎么办?
望高人指教!
...全文
254
14
打赏
收藏
【问一下关于后台定时监控程序的问题】
现在我要编写一个后台监控程序,大致就是监控指定的一个进程,要保证这个进程时刻在运行,如果它退出了,就要重新启动它。不知道该怎么实现? 我怎么想都必须用一个死循环来实现:在一个无限循环内,每隔一段时间就去检测指定的进程是不是存在。 死循环肯定是不行的,那我该怎么办? 望高人指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
loserking
2005-12-10
打赏
举报
回复
呵呵,fork和wait没什么不常规的,这么做也没什么技术上的不行。不过,写一个daemon来干这个感觉有点怪怪的。
再说,这个监控进程监控的对象很多情况下也是deamon吧,否则搞个shell循环就ok了。普通deamon进入daemon状态基本都要fork 2次。监控进程得到的只是最初的壳进程pid,那个几乎是立刻退出的。呵呵,监控进程恐怕要没完没了的fork了。
感觉上还有其它管理上的问题,我也不细想了。总之,用句围棋行话:味道很坏。
loserking
2005-12-10
打赏
举报
回复
我感觉楼主的意图是想监控一个daemon进程,所以我也是针对监控daemon进程来讨论的。呵呵,可能是我先入为主了。
如果是个普通进程,使用shell或者其他脚步几行就搞定。那行脚步的实际实现方式就是fork+wait。
很多常见的daemon都会有这个pid文件,特别是socket server daemon。它不仅可以准确定位最终转入后台进程的pid,而且对于socket server还避免了进程重复创建的问题。对于多HOME多启动进程,也很便于管理。
这只是个推荐方式,推荐给写daemon进程的人注意这种方式。如果没有pid文件也可以使用ps嘛。不过在进程管理上,没有pid文件来的文雅。
在各个具体案例中,还是根据实际情况决定方案吧。
newbiestar
2005-12-10
打赏
举报
回复
你加上了被监控的进程必须是daemon这个条件,还要确保可以知道这个daemon使用的pidfile的位置,并且要有权限读取这个文件。限制也不少了吧?
newbiestar
2005-12-09
打赏
举报
回复
回复人: loserking(刻舟求剑) ( ) 信誉:100 2005-12-07 20:16:00 得分: 0
fork+wait在某些情况下不失为是个办法,不过也满难管理的。呵呵,至少是个非常规办法。
搞个cron是很常规传统的方法。不过用ps就太老套了。
每个daemon一般都有个pid文件。里面存放进程pid,而且在进程正常运行状态下,这个文件都是write lock的。这应该就足够了。
======================================
不知道fork + wait都算是非常规,还有什么能算是常规的?
linux_DD
2005-12-08
打赏
举报
回复
mark
loserking
2005-12-07
打赏
举报
回复
fork+wait在某些情况下不失为是个办法,不过也满难管理的。呵呵,至少是个非常规办法。
搞个cron是很常规传统的方法。不过用ps就太老套了。
每个daemon一般都有个pid文件。里面存放进程pid,而且在进程正常运行状态下,这个文件都是write lock的。这应该就足够了。
szprzoucj
2005-12-07
打赏
举报
回复
1. 写一脚本检查被监测进程是否存在(ps)
2. 隔几分钟就运行该脚本(crontab)
cfeiniu
2005-12-07
打赏
举报
回复
采用守护进程。
你所描述的就是守护进程所要做的,可以说是量身定制。
fytzzh
2005-12-06
打赏
举报
回复
写shell去判断进程是否存在,不在就重新运行。
把写好的shell加入到crontab中,可以定时运行shell
frankzch
2005-12-03
打赏
举报
回复
我可能还要在程序里实现定时扫描某个文件的功能,不知道怎么实现?又要死循环?
frankzch
2005-12-03
打赏
举报
回复
其实我是想在c程序里实现这个功能,因为我在重启进程时还要做一些日志记录的工作,所以光用写到inittab中的方法好像难以实现。
newbiestar
2005-12-03
打赏
举报
回复
fork,然后wait.
fork出来的进程去做事情,死了以后父进程的wait会返回,你检查一下子进程的死亡原因,然后决定是否重新fork
tengulre
2005-12-03
打赏
举报
回复
把它写到/etc/inittab中
如:
ME0:2345:respawn:/usr/local/sbin/tcserver >/dev/null 2>/tmp/stderr.tcserver
yyy790601
2005-12-03
打赏
举报
回复
支持fork+wait这种方法。
表单自动填写,网页自动提交工具
模拟人工提交网页表单操作,同时
监控
提交结果变化并报警提示或自动处理报警动作。... 1、支持多任务多操作连续提交,实现无人值守。 2、支持通过多代理服务器访
问
并提交 ...9、支持
定时
任务,
程序
可
后台
隐藏执行
后台
隐身自动屏幕截图、
后台
自动屏幕截图、
后台
自动截屏、隐身自动截屏、
后台
监控
软件(带有密码保护)——
定时
执行专家
《
定时
执行专家》是一款可以在
后台
默默地自动
定时
屏幕截图的工具,你可以设置软件每隔几秒自动截取一次屏幕,然后以 PNG 格式保存,可以设定图片的保存位置等。这样即可以方便地
监控
、记录电脑的使用情况。............
微信小
程序
云开发入门(摆脱
后台
自己实现
后台
数据)
微信小
程序
开发实战入门,学习小
程序
云开发,摆脱
后台
,自己实现
后台
数据,从此就可以愉快的写小
程序
,自己实现小
程序
后台
了。
实现WEB站点的
后台
定时
任务
1、为什么WEB站点要用
后台
定时
任务 也许有人要
问
,WEB站点本身就
后台
服务了,为什么还要定制
后台
定时
任务呢? 其实很简单,做过实际WEB应用的人都知道。一个实际站点内经常要做一些
后台
处理,如统计、评价、数据更新...
supervisor篇---
后台
程序
监控
文章目录一:安装二:配置三:
程序
配置四:supervisorctl使用五:设置开机自启ubuntucentos supervisor 官网 http://supervisord.org/installing.html 一:安装 安装可以通过 pip 安装 sudo pip install supervisor...
Linux/Unix社区
23,118
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章