进程无法关掉

glacierful 2009-02-26 11:42:03
程序关闭后,查看任务管理器,发现进程并没有关掉。使用任务管理器的“结束进程”按钮依然无法关掉进程,只有重启windows系统才能关掉。
...全文
128 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZyxIp 2009-03-09
  • 打赏
  • 举报
回复
应该是线程没有关闭造成的.

在系统关闭的时候要将自己创建的对象全部释放掉.要确定线程都正常的结束了.
ljluck7687 2009-03-09
  • 打赏
  • 举报
回复
使用排除法判断故障原因

既然怀疑最可能是多线程的问题,先将多线程的代码屏蔽掉(方法有很多,可用条件编译)然后就可知道究竟什么地方有问题了。

总之用排除法,先粗定位后细定位,以求最后锁定出错的原因
glacierful 2009-03-09
  • 打赏
  • 举报
回复
是一个和读写串口有关的程序,程序启动的时候会同时启动两个线程,一个向串口写,一个从串口读。应该说程序总共会有3个线程,但我从资源管理器中查看,程序刚启动的时候会有6个线程,等一会儿就会变成5个。我也没有启动别的线程,怎么会有大于3个的线程。在IDE中有时候甚至会造成系统的死机,光标可以动,但其他窗口一概无法打开,只能热启动电脑。
不知道是不是这多余的线程导致了程序的异常情况。
Stiven_PFan 2009-02-27
  • 打赏
  • 举报
回复
有资源没释放吧.
bdmh 2009-02-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 de410 的回复:]
首先在任务管理器中打开“查看”菜单下的“选择列”命令,在打开的窗口中选中“PID(进程标志符)”,保存设置后返回任务管理器,在“进程”标签中找到要关闭的进程,并记录下PID列该进程的值。
  打开命令提示符窗口,输入“ntsd -c q -p 进程的PID值”,回车之后即会在一个弹出的DOS窗口中强制关闭该进程。
[/Quote]

这个方法不错
是不是窗体关闭时,在处理什么东西,关闭时有代码吗
五维思考 2009-02-26
  • 打赏
  • 举报
回复
什么类型的程序?
lingyin55 2009-02-26
  • 打赏
  • 举报
回复
mark 遇到这种情况可以试试 呵呵

[Quote=引用 1 楼 de410 的回复:]
首先在任务管理器中打开“查看”菜单下的“选择列”命令,在打开的窗口中选中“PID(进程标志符)”,保存设置后返回任务管理器,在“进程”标签中找到要关闭的进程,并记录下PID列该进程的值。
  打开命令提示符窗口,输入“ntsd -c q -p 进程的PID值”,回车之后即会在一个弹出的DOS窗口中强制关闭该进程。
[/Quote]
mandarin 2009-02-26
  • 打赏
  • 举报
回复
比卡巴还强?
de410 2009-02-26
  • 打赏
  • 举报
回复
首先在任务管理器中打开“查看”菜单下的“选择列”命令,在打开的窗口中选中“PID(进程标志符)”,保存设置后返回任务管理器,在“进程”标签中找到要关闭的进程,并记录下PID列该进程的值。
  打开命令提示符窗口,输入“ntsd -c q -p 进程的PID值”,回车之后即会在一个弹出的DOS窗口中强制关闭该进程。
gyk120 2009-02-26
  • 打赏
  • 举报
回复
结束的时候FREELIBRARY
yc_8301 2009-02-26
  • 打赏
  • 举报
回复
是不是某资源没有释放。。譬如:文件句柄,注册热键等等。
最好能贴出代码看一下。
starluck 2009-02-26
  • 打赏
  • 举报
回复


可能在調試什麼。 你可以用上面的OTSD去調試這個進程,然後強制終止

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧