社区
C++ 语言
帖子详情
求windows服务进程的挂死检测机制思路和经验
shuishenyanfu
2012-03-21 09:17:46
本人做了个windows的服务程序,因为要一直运行着,就想知道它有没有正常运行,求检测机制的思路和经验
...全文
294
20
打赏
收藏
求windows服务进程的挂死检测机制思路和经验
本人做了个windows的服务程序,因为要一直运行着,就想知道它有没有正常运行,求检测机制的思路和经验
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
maomaochong252857226
2012-03-21
打赏
举报
回复
csnd_life
2012-03-21
打赏
举报
回复
不会,你的程序都死锁了,那就是你的程序设计有问题了。这样也不是程序挂了啊。
shuishenyanfu
2012-03-21
打赏
举报
回复
[Quote=引用 15 楼 csnd_life 的回复:]
你在程序中启动一个进程会得到一进程句柄吧,然后用WaitForSingleObject等待这个句柄,如果等到,肯定你的程序挂了,然后重启。
[/Quote]
我看了下这个函数的说明,要等到进程停止运行的吧,但如果他只是进入死锁了?就是说任务管理器上还有这个进程,但实际上这个程序没在执行下去了,会等到返回吗?
csnd_life
2012-03-21
打赏
举报
回复
你在程序中启动一个进程会得到一进程句柄吧,然后用WaitForSingleObject等待这个句柄,如果等到,肯定你的程序挂了,然后重启。
shuishenyanfu
2012-03-21
打赏
举报
回复
[Quote=引用 13 楼 csnd_life 的回复:]
你另外写一个程序,在这个程序中来启动你想运行的程序,得到这个进程的id,一直实时监控这个id的进程,一挂就报警,或者重启之类的,应该可以吧!
[/Quote]
额,本人菜鸟,怎么监控呢?有api函数还是要自己写一个?
csnd_life
2012-03-21
打赏
举报
回复
你另外写一个程序,在这个程序中来启动你想运行的程序,得到这个进程的id,一直实时监控这个id的进程,一挂就报警,或者重启之类的,应该可以吧!
shuishenyanfu
2012-03-21
打赏
举报
回复
[Quote=引用 11 楼 littlecommit 的回复:]
日志仅仅是帮助你了解服务的运行情况的,不需要记录或保留太多的日志,
每次只需要保留一段时间内的日志就可以了,其余的日志都可以实时的删除!
[/Quote]
哎,主要是我这个日志要记录外接硬件的操作的,不能这么干啊,要想像你这样做,就要另写一个日志了
LittleCommit
2012-03-21
打赏
举报
回复
日志仅仅是帮助你了解服务的运行情况的,不需要记录或保留太多的日志,
每次只需要保留一段时间内的日志就可以了,其余的日志都可以实时的删除!
LittleCommit
2012-03-21
打赏
举报
回复
没关系,你可以删一条再记一条啊!
shuishenyanfu
2012-03-21
打赏
举报
回复
[Quote=引用 7 楼 fishion 的回复:]
另外一个服务可以查看那个log文件的呀
[/Quote]
日志文件的内容可能会挺多的,去看这个文件资源会不会耗太多?
LittleCommit
2012-03-21
打赏
举报
回复
你的意思就是要实现两个服务之间的通信了?
可以借助一些中间的东西:例如文件、共享内存等方式来实现两个服务间的通信。
fishion
2012-03-21
打赏
举报
回复
另外一个服务可以查看那个log文件的呀
fishion
2012-03-21
打赏
举报
回复
检测机制不难,写log文件什么的都可以
shuishenyanfu
2012-03-21
打赏
举报
回复
[Quote=引用 3 楼 littlecommit 的回复:]
可以在服务中定时打印一些日志信息,判断是否是正常运行!
[/Quote]
日志是有做,但要人工去看才知道啊,我想另外做一个服务,让它去知道那个服务已经挂死了
shuishenyanfu
2012-03-21
打赏
举报
回复
[Quote=引用 1 楼 jiuchang 的回复:]
是网络服务程序吗?
可以预留一个检测接口,定时发送检查包,服务器程序接收到检查包后会回复一个应答。
如果没有收到应答,则说明出现了问题。
[/Quote]
好像不是网络服务,但有用到socket
LittleCommit
2012-03-21
打赏
举报
回复
可以在服务中定时打印一些日志信息,判断是否是正常运行!
downmooner
2012-03-21
打赏
举报
回复
模拟客户端测试业务逻辑.
jiuchang
2012-03-21
打赏
举报
回复
是网络服务程序吗?
可以预留一个检测接口,定时发送检查包,服务器程序接收到检查包后会回复一个应答。
如果没有收到应答,则说明出现了问题。
赵4老师
2012-03-21
打赏
举报
回复
每隔一定时间比如一分钟写一条日志到文件中。
检测程序发现此日志文件的长度三分钟不变就执行以下批处理:
taskkill /IM 服务进程可执行程序名.exe
net start 服务名
shuishenyanfu
2012-03-21
打赏
举报
回复
[Quote=引用 17 楼 csnd_life 的回复:]
不会,你的程序都死锁了,那就是你的程序设计有问题了。这样也不是程序挂了啊。
[/Quote]
哦
服务
器
进程
显示异常,查看
服务
器异常
进程
查看
服务
器异常
进程
内容精选换一换企业主机安全
服务
主要包含资产管理、漏洞管理、入侵
检测
、基线检查和网页防篡改功能。资产管理功能可深度扫描出主机中的账号、端口、
进程
、Web目录、软件信息和自启动任务,在资产管理界面,您可以统一管理主机中的信息资产。漏洞管理功能将
检测
Linux软件漏洞、
Windows
系统漏洞和Web-CMS漏洞,帮助用户识别潜在风险。基线检查功能可扫描出主机DHCP无法正常获取内网I...
关于父
进程
和子
进程
的关系(UAC 绕过
思路
)
表面上看,在
windows
中。如果是a
进程
创建了b
进程
,那么a
进程
就是b
进程
的父
进程
,反之,如果是b创建了a,那么b
进程
就是a的父
进程
,这是在
windows
出现以来一直是程序猿们都证实的,但是在在win Vista后面有了一个新安全消息
机制
,UAC(user account control),这里科普下UAC的功能,其实UAC就是大家常见的安装软件或者启动程序的时候的出现的全屏变暗的一个提示框,这
关于父
进程
和子
进程
的关系
原文地址:https://blog.csdn.net/l_f0rm4t3d/article/details/25567463 表面上看,在
windows
中。如果是a
进程
创建了b
进程
,那么a
进程
就是b
进程
的父
进程
,反之,如果是b创建了a,那么b
进程
就是a的父
进程
,这是在
windows
出现以来一直是程序猿们都证实的,但是在在win Vista后面有了一个新安全消息
机制
,UAC(user accoun...
检测
隐藏
进程
许多用户都有过用
Windows
自带的任务管理器查看所有
进程
的
经验
,并且很多人都认为在任务管理器中隐藏
进程
是不可能的。而实际上,
进程
隐藏是再简单不过的事情了。有许多可用的方法和参考源码可以达到
进程
隐藏的目的。令我惊奇的是只有很少一部分的木马使用了这种技术。估计1000个木马中仅有1个是
进程
隐藏的。我认为木马的作者太懒了,因为隐藏
进程
需要进行的额外工作仅仅是对源代码的拷贝-粘贴。所以我们应该期待即将到
Windows
操作系统管理
进程
和线程:内核模式和用户模式
根据前面的介绍,NT内核会把操作系统的代码和数据映射到系统中所有
进程
的内核空间中。这样,每个
进程
内的应用程序代码便可以很方便地调用内核空间中的系统
服务
。这里的“很方便”有多层含义,一方面是内核代码和用户代码在一个地址空间中,应用程序调用系统
服务
时不需要切换地址空间,另一方面是整个系统中内核空间的地址是统一的,编写内核空间的代码时会简单很多。但是,如此设计也带来一个很大的问题,那就是用户空间中的程序指针可以指向内核空间中的数据和代码,因此必须防止用户代码破坏内核空间中的操作系统。怎么做呢?答案是利用权限控制来
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章