阅读:1358回复:1
[求助] 写了个文件监控驱动, 应用程序正常退出没问题, 异常退出的话, 进程锁死, 杀不死.
写了个文件监控驱动, 监控用户打开的所有文件, 并形成记录, 测了几天, 如果是正常的启动、退出, 都没有问题, 驱动也很稳定了, 可是, 如果我在Debug模式下启动应用程序(此时已经安装并启动了驱动), 驱动中有应用层传下来的事件句柄, 用来等待文件打开事件的触发, 应用层也开启了一个线程, 一直在发IO消息给驱动, 看列表中有没有记录, 有就取出来.
问题来了, 如果我此时停止调试结束程序, 这时候调试是停止了, 可在进程列表中还可以看到此应用程序在, 并且杀不死. 什么"Taskkill"、"TsKill", 任务管理器、NtTerminateProcess、ZwTerminateProcess 都杀不死, 权限也提了... 哎. 我也尝试过用内存清零的方法来试, 可没成功(我用的是Windows7), 并且驱动一直都在运行, 没有死. 可以在DebugView里看到输出的信息, 我尝试停止服务"ControlService"成功了, 并且"DeleteService"也成功了, 可是驱动它老人家还是照常运行着, DebugView 一直有消息. 搞了一天没搞出来个杀它的办法. 郁闷死了. 不过用Xuetr可以杀死进程, 不过杀了后, 我的VS2010也提示要重启了. 不知道这个是用什么方法杀的. 希望有人能指点出路. 谢谢. |
|
沙发#
发布于:2013-11-13 18:06
你没有关闭句柄,停止线程。
|
|