Answers:
命令行语法:
wmic process where name="AppName" CALL setpriority ProcessIDLevel
例:
wmic process where name="calc.exe" CALL setpriority 32768
要么
wmic process where name="calc.exe" CALL setpriority "above normal"
优先:
wmic process where 'name="calc.exe"' CALL setpriority "idle"
一个小的补充。
您也可以像这样使用字符串值而不是整数(更易于记忆):
wmic process where name="calc.exe" CALL setpriority "idle"
可能的值:“空闲”,“低”,“低于正常”,“正常”,“高于正常”,“高优先级”,“实时”
PS。不要忘记引号,尤其是在字符串值中使用多个单词的情况下
从批处理命令行中,我将仅使用PowerShell。此示例启动calc.exe,找到其进程,并将其优先级调整为“ IDLE”,也就是LOW:
start /b /wait powershell.exe -command "calc.exe;$prog = Get-Process -Name calc;$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE"
指定以下枚举值之一:“ Normal, Idle, High, RealTime, BelowNormal, AboveNormal
”
这是PowerShell中带有分割线的同一件事:
calc.exe
$prog = Get-Process -Name calc
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE
除了现有的答案外,“ 等效于Windows”的问题还 列出了其他一些解决方案:
另外,旧的SetPriority实用程序可能仍然可以使用,但是我已经很多年没有尝试过了。
其中一些解决方案可能无法在系统服务上运行,或者可能需要以管理员身份运行。
wmic process where "CommandLine like '%calc%'" CALL setpriority "below normal"