目前比较知名的进程监控程序是C语言实现的monit和python实现的supervisor
其中monit比较小巧,很轻量级,适合在嵌入式设备上使用,而python实现的supervisor则比较重,在一般的路由器芯片上运行比较吃力!
于是便想使用lua实现一个类似于monit的程序,功能可以是monit的缩减版,但要实现基本的几个功能
已经过测试,源码地址
https://gitee.com/siasjack/lua-monitor(更新较快)
https://github.com/siasjack/lua-monitor
说明
本脚本主要灵感来自C实现的monit程序和python实现的supervisor,属于monit程序的超级缩减版
功能会逐步添加,丰富。
当前功能有限,但是对于一般的网关路由器来说可以覆盖一部分的需求,实现秒级监控进程和文件
本程序的所有配置文件均使用json格式,简单易于理解
主要功能
1. 根据pid文件守护指定进程
2. 定时器:定时执行指定的命令或脚本
3. 监控文件及文件夹的修改时间、文件大小,如有改变则调用指定命令或脚本
注意事项
- 为了保证本程序的稳定性、时效性,本程序所调用的所有命令均会增加&,使其后台运行