如何以实时优先级启动可执行文件?

时间:2016-03-15 11:07:01

标签: windows cmd scheduling

所以我在Windows 8.1上试试这个:

start /low cmd

我得到低优先级的cmd进程。但是当我这样做时:

start /realtime cmd

我获得了具有高优先级的新cmd进程。

有没有办法在不手动设置的情况下获得实时? 另外,我可以以某种方式从我的应用程序的代码中设置所需的优先级,可能是WinApi或其他什么?

3 个答案:

答案 0 :(得分:3)

当您以管理员身份执行start时,它会起作用。

从技术上讲,您需要管理员通常拥有的SeIncreaseBasePriorityPrivilege。 如果你不这样做,看起来虽然我找不到任何关于这个事实的文件,但是你会默默地恢复到仍然可以使用主叫帐户的优先级。

我怀疑Win32会有所帮助,因为同样的限制肯定适用。

答案 1 :(得分:0)

@ECHO OFF
ECHO Setting process priority    
wmic process where name="process.exe" CALL setpriority "Realtime"

解决方案是按原样启动该过程,但然后以管理员身份运行上述批处理脚本文件。

答案 2 :(得分:0)

要在没有管理员权限的情况下通过CMD或Process Lasso进行实时工作,需要在以下位置进行更改:

secpol.msc>本地策略>用户权限分配>增加调度优先级>属性>添加用户或组>写下“每个人”>检查名称>确定

我需要解决方案来在后台启动使用优先级设置命令运行CMD的VBS脚本,我无法以admin身份打开VBS脚本。