怎样做一个服务,使它被kill后自动重启? 需要对UPS进行监控,不能让人随便终止进程了,就像nod32的服务一样,你在进程管理器里终止它马上就重新启动了,而且没看到其它进程. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 服务设置里面有相应的参数,SERVICE_FAILURE_ACTIONS 同意楼上的! SERVICE -> Properties -> Recovery! 修改ETHREAD的CrossThreadFlags为PS_CROSS_THREAD_FLAGS_BREAK_ON_TERMINATION一kill就BSOD简单点用驱动,ring3下麻烦点,要用NtSystemDebugControl,不过这个函数已经被杀毒软件封了 good good study, day-day up. 另一个思路,我是这么搞的:服务的停止事件关闭,这样不能直接关闭,但可以在管理器里KILL,所以,你要最好写入DLL的,然后,你的服务一启动,你就注入一个DLL到SVCHOST.EXE中去,每5秒左右查询一下服务状态(用SMC查)得到的结果如果不是无响应或已停止或正在停止都立即重建服务并启动。总之,写成病毒机制。不一定要用驱动,因为,这个对别人的干扰不大,他绝对不会为了关闭你这个正常的服务而大动干戈的。另一个方法是双服务(因为可以系统还没有启动,所以使用双服务比较好,就是一个服务停止了,就立即重建另一个,相互之间定时互询,正常时就一个服务在工作,另一个只负责查询主服务有无被关闭,主服务也要查询守护服务有无被关闭),不用写得太严格,用户关不掉就行了。 反正我觉得不管怎样做,都有被kill掉的危险,即使是我在3楼说的方法,别人也可以写个驱动,把那个标志先改掉,再进行kill,这样就不会蓝屏了。看LZ在什么场合用了。如果简单想防防君子,那么ring3也就够了,如果要防小人,还是要用到ring0,而且还要把进程隐藏 当然在sevices.msc里能关掉没问题,这个我不用管,主要是怕服务进程意外终止,需要随时监控电力情况. 无非就是Hook或者守护,至于驱动,要看你的使用场合,驱动要写的稳定和适用各种系统环境不简单,除非一定要使用,否则不推荐。 声明一下,它本身是一个exe服务.问题是可以在任务管理器中终止. 需要一个程序创建服务后设置,调用ChangeServiceConfig2设置SC_ACTION_RESTART参见ChangeServiceConfig2设置SERVICE_CONFIG_FAILURE_ACTIONS 你们加班都有加班工资吗? 网页中cab包问题,为什么我做的cab包指定链接后客户端总显不出来 串口通讯数据收不全的问题 CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)中的疑问 局域网发包 文本旋转问题! 有关股票方面的!炒股者或开发者请进! 处理回车的问题 小第是一只菜菜菜菜鸟,请问vc中的断点怎么用? 在对话框中怎么实现qq上那种超链接,用什么控件? 复数次启动防止时FindWindow总是返回空?应该不难吧 Static控件变色的问题
服务的停止事件关闭,这样不能直接关闭,但可以在管理器里KILL,所以,你要最好写入DLL的,然后,你的服务一启动,你就注入一个DLL到SVCHOST.EXE中去,每5秒左右查询一下服务状态(用SMC查)得到的结果如果不是无响应或已停止或正在停止都立即重建服务并启动。总之,写成病毒机制。不一定要用驱动,因为,这个对别人的干扰不大,他绝对不会为了关闭你这个正常的服务而大动干戈的。另一个方法是双服务(因为可以系统还没有启动,所以使用双服务比较好,就是一个服务停止了,就立即重建另一个,相互之间定时互询,正常时就一个服务在工作,另一个只负责查询主服务有无被关闭,主服务也要查询守护服务有无被关闭),不用写得太严格,用户关不掉就行了。
参见ChangeServiceConfig2设置SERVICE_CONFIG_FAILURE_ACTIONS