服务程序监测框架的设计

Wolf0403 Wolf0403 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
OS:Linux
部署:Amazon EC2

背景:系统中有一些 run away 的服务程序 s,由 cron 启动,跑完结束。s 的任务是处理 /tmp/s 下多个子目录中的文件。s 在启动时会读取 /tmp/s/.concurrent-level 文件确定 fork 的子进程的数目。每个 /tmp/s 下的子目录同一时间只能有一个进程访问,所以每个 s 子进程会在自己工作路径设置锁文件,并且跳过有锁文件的目录。
s 在执行过程中,会写入一个 log 文件,内容类似 apache access log,包括每个进程自己的 PID,记录时间和进度信息。
cron 每分钟执行一次 s。

目标:
做一个守护进程,监测一个或多个文件变化(类似 tail -f),以行为单位进行匹配,按照配置文件指定的状态机激发不同的事件(如:看见 /^Process end/ 时,调用脚本 /tmp/s-ended)

想法:
tail -f 据说使用的是 inotify / dnotify 等技术(http://www.quora.com/How-is-tail-f-implemented )。启子进程 tail -f 每个 log 文件,poll (或其它方式等待变化)

问题:
配置文件(状态机)定义。如何通过简单清晰的方式(JSON)表达相对完整的状态变化。
...全文

相关推荐

智能家居环境监测系统设计[可运行源码]

在程序设计方面,文章提供了核心框架,这为开发人员进行后续开发和扩展提供了基础。核心框架包括主程序流程、中断服务程序、以及各种功能模块的子程序。由于采用了模块化的设计理念,系统的扩展性得到了显著提升。

java5

构建煤矿水位监测系统的实践与心得

本文介绍了煤矿水位监测系统的设计与实现,重点讨论了基于Intel 8086微处理器的监测程序。系统通过水位传感器、计时器和警报装置来监控水位变化,并在达到设定的水位时发出警报。文章详细说明了硬件接口、端口配置以及软件逻辑的实现,包括如何初始化计时器、处理中断以及监测水位变化。此外,文章还提供了一系列的练习题,鼓励读者进一步思考如何改进系统设计,例如,通过自动控制泵的启停来优化操作流程。

王大帅爱钢炼

参考资料-基于MSP430单片机的电池监测仪设计与实现.zip

软件设计 - 应用程序框架:设计中断服务程序,实现实时数据采集和处理。 - 数据处理算法:编写电压、电流、温度的计算程序,实现SOC估算算法。 - 用户界面:设计简单易读的数据显示界面。

等天晴i

基于STM32的智能水质监测系统设计论文

物联网技术在这项设计中扮演了重要角色,通过连接传感器、微控制器和无线通信模块,构建了一个分布式监测网络。数据可以实时上传并存储在云端,便于分析和管理。

毕业程序员

基于无线通讯网络的公路监测系统设计框架 (2007年)

"基于无线通讯网络的公路监测系统设计框架 (2007年) - 山东师范大学学报(自然科学版) - 张森、张文娟、曹鹏"文章探讨了如何利用无线通讯网络来设计公路监测系统,以提高公路服务质量和应对交

weixin_38506713
评论 23
收藏 已收藏
分享
返回顶部
Wolf0403
其它技术问题 3,881 成员 9,044 内容