Window下的简单监控程序的编写
本文介绍 windows 下监控程序的作用以及其应用场景, 然后结合简 要实例给出演示程序
1 介绍
什么是监控程序 监控程序是对指对某个运行中的程序的行为进行监控, 比如 监控网络接口是否有数据到达, 程序是否异常退出, 上网记录有 等等。
有哪些应用场景 按照应用的业务不同, 需要用到监控的地方特别的多, 比如 视频监控、 上网行为监控、 网络运营设备监控、 程序行为监控、 公共交通监控等等。
为什么引入监控 监控的可以持续的记录数据, 方便后期数据分析, 如在某段 时间出现了什么故障, 根据监控的行为数据以及现象, 可以定位 出产生问题的软硬件部件, 另从根本上解放了人的重复工作量。
2 理解监控及如何编写
既然是监控, 那么程序必然要一直在运行着, 从软件层面上来说, 监控程序其实就是一直存在并运行着的程序, 其存在形式一般是进程中 的定时器任务、 线程任务、 以及服务组件等。
可通过如下几种实现方式实现:
a) 各种程序实现均可达到目的,如 .Net、 C/C++、 Java、 Python 等等都可以实现。
b) 利用系统的脚本程序实现, windows 下可以通过 VBScript、 Autobat、 PowerShell 等; unix-like 系统则可以依据系统提供 的 bash 实现。
c) 可编写系统驱动来实现
3 平台差异性考虑移植
用户层面的应用程序移植是没有多大问题的, 可以考虑跨平台开发语言 如 JAVA , 跨平台C++ 开发框架 如 QT, 以及本身就不依赖特定系 统的语言 如 Python等。 自行调用特定系统下的API的, 必须要考虑为每种系统下提供实现, 否则程序不可移植。
凡涉及到内核层面的程序, 也是不可以移植的, 如驱动, 这部分 需要依据特定系统, 定制开发。
4 程序实现举例
通过windows 批处理实现监控, 当程序退出后, 再重新启动。
@echo off
::检测时间间隔,单位:秒
set _interval=5
::需要守护的进程所在目录与启动命令
set _processDir="C:\Program Files (x86)\Youda