有没有办法杀死我的应用程序的子进程并执行它的清理(调用解构函数和 atexit 函数),类似于 exit(exit_code)
,但在另一个进程上?
最佳答案
如果您使用的是 Windows,您可能会通过 CreateProcess 启动子进程,它的最后一个参数是 PROCESS_INFORMATION。
选项 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/