c++ - 通过清理杀死子进程

标签 c++ winapi

有没有办法杀死我的应用程序的子进程并执行它的清理(调用解构函数和 atexit 函数),类似于 exit(exit_code),但在另一个进程上?

最佳答案

如果您使用的是 Windows,您可能会通过 CreateProcess 启动子进程,它的最后一个参数是 PROCESS_INFORMATION。

CreateProcess on MSDN

Process Information on MSDN

选项 1:

此进程信息包含在 hProcess 成员中启动的进程的句柄。

您可以存储此句柄并使用它来终止您的子进程。

插入 您可能想要发送 WM_CLOSE 和/或 WM_QUIT? “干净地”结束进程:

这是一篇关于如何操作的知识库文章 KB how to cleanly kill win32 processes

** 结束插入**

选项 2:

这是关于如何正确终止进程树的讨论:Terminate a process tree on windows

关于c++ - 通过清理杀死子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11061965/

相关文章:

delphi - Delphi 使用哪些 Windows 消息来通知组合框中的更改?

c++ - 如何在 C++ 中声明一个 Vector 对象?

C++ 坐标错误

c++ - 如何在 C++ 资源脚本中将项目添加到组合框

c++ - 如何在 mac os x 上使用 g++ 编译一个简单的 Qt 和 c++ 应用程序?

c++ - VirtualQueryEx 错误 - 页面太多

winapi - C++ Pipe ReadFile 函数在 Windows XP 中设置超时

c++ - WINAPI 打印 - 具有相同尺寸的两种纸张类型

c++ - C++ 中的调试宏

函数上的 C++ extern 关键字。为什么不只包含头文件?