繁体   English   中英

Windows 10 OS中的终止过程

[英]Terminating Process in Windows 10 OS

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

代码段:

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控制台,用户可以终止该控制台。 但是,它一直在后台运行。 我在下面附加了片段:

在过程累积之前:

图片

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

进程累积后:

图片

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

实际问题:这实际上是在消耗内存,并且具有降低性能的能力。

最初的好奇心:当用户单击“ x”时,Windows OS是否应该处理该进程?

有人遇到过类似的问题吗?

解:

DEBUG_ONLY_THIS_PROCESS更改为0 CREATE_NEW_CONSOLE

我的想法:

我想DEBUG_ONLY_THIS_PROCESS背后的想法是让窗口句柄保持打开状态,以便用户观察输出,而CREATE_NEW_CONSOLE根据需要分配并释放内存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM