PowerShell 技能连载 - 改变 PowerShell 的优先级
适用于 PowerShell 所有版本
也许您有时候希望 PowerShell 脚本在后台运行,例如复制文件时,但又不希望脚本抢占过多 CPU 或干预其它任务。
一种减慢 PowerShell 脚本运行速度的方法是降低它们的优先级。以下是一个实现该效果的函数:
function Set-Priority
{
[CmdletBinding()]
param
(
[Parameter(Mandatory=$true)]
[System.Diagnostics.ProcessPriorityClass]
$Priority
)
$process = Get-Process -Id $pid
$process.PriorityClass = $Priority
}
要降低脚本的优先级,请这样调用:
Set-Priority -Priority BelowNormal
您可以稍后将优先级调回 Normal,甚至可以调高优先级使脚本获得更多资源执行。例如需要执行更重的任务,不过这会使 UI 响应性变得更差。