最近接手一个MFC老项目,Bug太多,主线程退出的时候,也不管子线程死活,直接退出,导致子线程又去访问那些被释放的资源,结果程序无法关闭,或者导致进程在后台驻留了。

这里提供一种简单粗暴的方法:

//强行结束自己
void TerminateApp()
{HANDLE hself = GetCurrentProcess();   TerminateProcess(hself, 0);
}

线程终止满足如下条件之一:
1、线程函数返回
2、线程执行中调用ExitThread
3、同一进程下 任意线程调用TerminateThread指出该线程的Handle
4、同一进程下 任意线程调用TerminateProcess结束该线程所在的进程
5、该线程所在的进程中任意线程调用ExitProcess
由于高级语言编译的程序在(正常)结束的时候都会调用ExitProcess,所以系统会强行终止它的所有线程(如果之前还没结束的话)。

VC/MFC 强制结束当前进程相关推荐

  1. NSIS:强制结束软件进程

    原文 NSIS:强制结束软件进程 有时候,我们选择卸载软件后发现安装目录中的主文件依然存在,不是我们卸载代码写的不对,而是卸载的时候软件根本就没有关闭! 在卸载前加上下面这个宏可以在一定程度上免除上述 ...

  2. Delphi中强制结束一个进程

    强制结束一个进程的 API 为 TerminateProcess BOOL TerminateProcess( HANDLE hProcess, // 进程句柄 UINT uExitCode // 退 ...

  3. Linux中强制结束一个进程的终极方法和其他常用命令

    Linux中强制结束一个进程的终极方法和其他常用命令 1.查进程 ps命令查找与进程相关的PID号: ps a 显示现行终端机下的所有程序,包括其他用户的程序. ps -A 显示所有程序. ps c ...

  4. CMD专业 :taskkill :::强制结束各种进程---查询端口号及占用端口号等

    Window 中杀死指定端口 cmd 命令行 taskkill 前言: 对于经常会遇到电脑卡死啊,进程结束不了啊,界面卡死之类的,什么谷歌的无响应啊之类的,有关比不了,特别烦的就可以用以下方法解决啦, ...

  5. linux 强制结束p进程的命令,Linux常用命令之性能命令

    本文介绍Linux常用性能统计分析命令,监控进程或者系统性能.主要包括CPU(top.mpstat).内存(vmstat.free).I/O(iostat).网络性能(sar).系统日志信息(dems ...

  6. win10taskkill强行结束进程_批处理文件BAT找到进程PID并强制结束TaskKill进程

    Taskkill 1 简介 taskkill 是用来终止进程的.具体的命令规则如下: TASKKILL [/S system [/U username [/P [ password ]]]] { [/ ...

  7. Linux中强制结束一个进程的终极方法

    在 Linux Ubuntu 服务器上用 dnx 基于 Kestrel 成功运行一个 ASP.NET 5 站点后,怎么也无无法退出. 运行的命令如下: /data/git/dnx/artifacts/ ...

  8. VC++结束程序进程

    1.使用ExitProcess()结束进程 进程只是提供了一段地址空间和内核对象,其运行时通过在其地址空间内的主线程来体现的.当主线程的进入点函数返回时,进程也就随之结束.这种进程的终止方式是进程的正 ...

  9. 使用 PspTerminateThreadByPointer 强制结束进程

    实现过程 我们知道,线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进 ...

最新文章

  1. python3 bytes与hex字符串互转
  2. 多用户使用一台计算机可设置,2012年职称计算机考试WindowsXP选择题5
  3. SAP CRM商机页面上赢单原因的字段是怎么配出来的
  4. 2020年周记(3/50)
  5. 使用NAT网关轻松为单台云服务器设置多个公网IP
  6. mysql和sqlite3 ios_iOS开发:用SQLite3存储和读取数据
  7. python单元测试mock_Python单元测试的Mock是怎么回事
  8. java安装后怎么打开_java安装后怎么打开教程
  9. CAD如何导出PDF格式
  10. excel文件损坏修复绝招_高手都在用的PDF转换PPT、WORD、EXCEL工具
  11. apktool.bat 无法下载的解决方案
  12. python中shape是什么意思_对numpy中shape的深入理解
  13. java如何输出省略号_关于java:此方法签名中的省略号(…)是什么?
  14. 孔雀优化算法(POA)——(含MATLAB代码)
  15. 使用kubespary安装k8s集群
  16. SOLR7实践(二)--DIH配置及使用
  17. fake news:使用区块链技术来保证新闻中数字媒体的真实性。
  18. Autodesk maya for Mac(三维动画制作软件)
  19. 集散控制系统是利用微型计算机技术,远程西安交通大学17年3月课程考试《化工仪表及自动化(高起专)》作业考核试题...
  20. B2B2C/B2B/B2C商城源码

热门文章

  1. 利用泰勒级数计算圆周率
  2. win10和linux双系统免u盘,WIN10下免U盘安装Ubuntu双系统
  3. 微信小程序——传统开发模式与云开发模式对比
  4. Linux命令之-telnet
  5. realvnc控制端安卓版,不能错过的realvnc控制端安卓版安装教程
  6. 用平移法演示得出平行四边形的面积公式
  7. 一个谦虚的心才是最重要的
  8. 站长必须知道的seo知识!
  9. 【ML】numpy meshgrid函数使用说明(全网最简单版)
  10. torch.meshgrid函数