进程监控-关于windows下非子进程之间的运行状态实时监测

问题描述

关于windows下非子进程之间的运行状态实时监测

情况是这么回事
我在做个windows平台的东西,需要一个管理进程,管理着一堆服务进程,然后我需要在服务进程异常关闭的时候实时通知管理进程。
因为实时性要求的原因,所以心跳的方式直接被我无视了。
因为主要是想达到服务进程异常关闭直接宕掉的情况,因此我找来找去也没啥好办法。
唯一可以借鉴的方法是socket的方式,当一对socket连接中的服务器和客户端,服务器用recv阻塞住,当客户端异常关闭的时候服务器recv直接返回SOCKETERROR,这样就能在第一时间处理client的关闭了。
但是我现在要搞得是本地进程间的异常关闭响应,所以我不想用socket。
于是就考虑到文件互斥读写,创建一个只存在于内存的共享文件,然后由服务进程对其独占,而管理进程则阻塞在对该文件的请求中,当服务进程宕掉的时候管理进程能第一时间做出反应。具体实现办法还没实现
不知道诸位有没有什么具体实现的好方法啊?

解决方案

这个需要监控内核对象,参考
http://www.cnblogs.com/hongfei/p/3162546.html

时间: 2024-10-02 10:53:45

进程监控-关于windows下非子进程之间的运行状态实时监测的相关文章

windows下bat curl实现tomcat进程守护

朋友公司的 tomcat运行在windows平台下,其提到tomcat不是很稳定,老是挂,有没有什么好的办法.其中给他的建议里有一条,让其开一个tomcat的守护进程.由于windows下不像linux(Linux平台下各种命令.各种语法.各种顺手),win平台下bat感觉既弱又难理解.不过这里还是找了下之前写过的tomcat进程守护脚本,改了下写了一个. 同一个思种, 获取某个URL的状态码,对比HTTP状态码是否为200,如果不是200,将该主机的某个特定tomcat进行重启(针对单台主机上

Windows下看线程

window Unix下面的Oracle每个会话,每个后台进程都是操作系统的一个进程,而Windows下在操作系统级我们只能看到一个Oracle.exe的进程,Oracle内部所有的会话进程,后台进程都被封装在这个进程中成为线程,这给我们管理Windows平台上的Oracle数据库增加了难度.下面是几个在Windows平台上用于观察线程的免费软件.感谢Yong Huang的推介.关于此类工具的讨论主题,在Itpub论坛的下面链接中:http://www.itpub.net/246048.html

在windows下查看oracle的后台进程

在linux环境下可以使用命令直接查oracle的进程,在windows下可以使用sql语句查看,不过没有linux的信息详细... SQL> select program,status from v$session where type='BACKGROUND';PROGRAM                                                          STATUS         -------------------------------------

Linux下Nagios监控linux+windows的安装与配置

一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒

windows下批量杀死进程

  有时候由于病毒或其他原因,启动了一系列的进程,并且有时杀了这个,又多了那个.使用命令taskkill可将这些进程一下子全部杀光: C:UsersNR>taskkill /F /im frontpg.exe 成功: 已终止进程 "FRONTPG.EXE",其 PID 为 3732. 成功: 已终止进程 "FRONTPG.EXE",其 PID 为 24544. 成功: 已终止进程 "FRONTPG.EXE",其 PID 为 3612. 错误

runtime-java 在linux 下调用 SH 文件 在windows 下调用 bat 执行后不能 看见进程

问题描述 java 在linux 下调用 SH 文件 在windows 下调用 bat 执行后不能 看见进程 public boolean execCmd(String[] cmds){Process p = null;Runtime rt = Runtime.getRuntime();BufferedReader in = null;InputStreamReader reader = null;try { p = rt.exec(cmds); InputStream info = p.get

python在windows下创建隐藏窗口子进程的方法

  本文实例讲述了python在windows下创建隐藏窗口子进程的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 import subprocess IS_WIN32 = 'win32' in str(sys.platform).lower() def subprocess_call(*args, **kwargs): #also works for Popen. #It creates a new *hidden* window

Mac下Supervisor进程监控管理工具的安装与配置_python

Supervisor 是一个类 unix 操作系统下的进程监控管理工具. 安装 Supervisor Supervisor 是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Index) 直接安装: 复制代码 代码如下: sudo pip install supervisor 配置 Supervisor Supervisor 的配置文件命名为 supervisord.conf,它为 supervisord(Supervisor 的主服务命令)

求助,windows下如何注入一个jar包到一个目标java进程

问题描述 我想做到像windows下注入一个dll到一个进程内然后hookapi的功能,jar注入java进程并hookjava类库能做到吗谢谢各位 解决方案 解决方案二:这个,貌似应该去分析下JVM的工作方式了解决方案三:可以做到,你去找一些JAVACLASS动态加载的文章即可.我们以前做过二次编译,即JAVA程序动态生成JAVA文件或加载JAVA代码编译后直接执行的东西,所有动态加载JAR包技术上完全是没问题的,只不过我这时间太久了,找不到例子,你去网上找找.......解决方案四:引用2楼