微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

进程优先级是否被inheritance?

假设您有一个Windows进程A,其优先级为Abovenormal,它启动另一个进程B,但没有指定优先级。 进程B的优先级是否从进程A的优先级inheritance? 那么,过程B的优先级是什么? Abovenormal,normal或其他?

CMDbatch file来运行R代码。 我怎样才能select不同版本的R?

NASM ReadConsoleA或WriteConsoleA缓冲区debugging问题

RedrawWindow和Win32中的UpdateWindow有什么区别?

有没有办法来检查一个模块是否被Windows中的多处理标准模块加载?

在cygwin / windows下的NPM脚本:命令的语法不正确

如果未指定,则在某些情况下,优先级类将继承。

它发生在调用进程在IDLE_PRIORITY_CLASSBELOW_norMAL_PRIORITY类中时。 否则,它将获得norMAL_PRIORITY_CLASS,除非在CreateProcess调用期间指定。

MSDN在CreateProcess的dwCreationFlags上说:

该参数还控制新进程的优先级,用于确定进程线程的调度优先级。 有关值的列表,请参阅GetPriorityClass。 如果没有指定任何优先级标志,则优先级缺省为norMAL_PRIORITY_CLASS,除非创建进程的优先级为IDLE_PRIORITY_CLASS或BELOW_norMAL_PRIORITY_CLASS。 在这种情况下,子进程接收调用进程的认优先级。

因此答案是正常优先级。 基本上任何超出正常水平的东西都不会传递给孩子。

从CreateProcess的文档:

dwCreationFlags [in]

控制优先级和创建进程的标志。 有关值的列表,请参阅进程创建标志。

该参数还控制新进程的优先级,用于确定进程线程的调度优先级。 有关值的列表,请参阅GetPriorityClass。 如果没有指定任何优先级标志,则优先级缺省为norMAL_PRIORITY_CLASS,除非创建进程的优先级为IDLE_PRIORITY_CLASS或BELOW_norMAL_PRIORITY_CLASS。 在这种情况下,子进程接收调用进程的认优先级。

所以,在你的例子中,新的进程将具有正常的优先级。

在Windows进程中,优先级不会被继承。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐