如何在 Windows IOT 启动时设置后台进程优先级

How to set the Background Process priority at Windows IOT startup

我找到了如何创建和启动后台进程,如何将其添加到启动等等。很简单。

我唯一需要做的就是如何提高我在启动时创建的进程的优先级。

我看到,从 PowerShell,我可以键入:

$prog = Get-Process -Name backgroundTaskHost

$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::High

这很好用,我可以检查它 运行 命令:

Get-Process | Format-Table -View priority

如何启动更高优先级的进程?是否有任何设置、命令或其他方法允许在启动时创建更高优先级的后台进程?

There are 11 levels of the task. RealTime has the highest priority, its value is 0, is higher than High. You can start the process with an higher priority by running a PowerShell Script on Startup。您可以按照以下步骤操作:

首先,创建一个新文件,将其命名为 StartupScript.ps1 并添加以下几行 PowerShell 代码:

$prog = Get-Process -Name backgroundTaskHost
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::RealTime

其次,创建一个简单的批处理 (*.bat) 文件来执行 PowerShell 脚本。创建一个新文件,将其命名为“Startup.bat”并使用以下代码填充它:

powershell -command "C:\StartupScript.ps1"

第三,将脚本和批处理文件移动到物联网设备。您可以通过文件资源管理器访问 IoT 磁盘,在地址栏中输入以下行(使用您的 Raspberry Pi 的名称或 IP 地址而不是此处 "minwinpc"):

\minwinpc\C$

之后,您将看到如下图所示:

第四,establish a PowerShell session with your IoT Core device并通过执行以下命令将“C:\Windows\System32”文件夹永久添加到您的路径中:

setx PATH "%PATH%;C:\Windows\System32"

通过执行以下命令添加启动计划任务:

schtasks /create /tn "Startup PowerShell" /tr c:\Startup.bat /sc onstart /ru SYSTEM

最后,重启您的设备。当您的设备重新联机时,您可以通过 运行 以下命令检查结果:

Get-Process | Format-Table -View priority