首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows 10操作系统中的终止进程

Windows 10操作系统中的终止进程
EN

Stack Overflow用户
提问于 2018-07-19 16:07:52
回答 1查看 101关注 0票数 0

背景信息:我正在开发一个Windows 10应用程序。在我的应用程序中,一些输出将显示在需要新进程的窗口控制台上。

代码片段:

代码语言:javascript
复制
PROCESS_INFORMATION pi;
STARTUPINFO si;
// CreateProcess is defined in processthreadsapi.h
BOOL newProcess = CreateProcess (
0, pszCmdLine, 0, 0, FALSE, DEBUG_THIS_ONLY_PROCESS, 0, 0, &si, &pi
);

在上面的代码片段中,pszCmdLine可以是"cmd.exe /c dir""cmd.exe /c ipconfig",或者本质上是任何Windows终端cmd。

问题:在前端生成一个新的控制台,用户可以终止它。然而,它却在幕后保持着活力。我在下面附上了一些片段:

在过程积累之前:

在上面的片段中,它显示了"cmd.exe /c dir"正在执行并输出到cmd控制台中。

在进程累积之后:

在上面的片段中,它展示了我如何启动相同的cmd 4次并关闭3次(即计数器是"(4)“,包括主进程)。

真实世界问题:本质上是在消耗内存,并且具有降低性能的能力。

初始好奇:当用户单击"x“时,不应该处理这个过程吗?

以前有没有人遇到过类似的问题?

EN

回答 1

Stack Overflow用户

发布于 2018-07-19 22:13:42

解决方案:

DEBUG_ONLY_THIS_PROCESS更改为0 CREATE_NEW_CONSOLE

我的想法:

我认为DEBUG_ONLY_THIS_PROCESS背后的想法是让用户打开窗口句柄来观察输出,而CREATE_NEW_CONSOLE则根据需要分配和释放内存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51427349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档