我找到了如何创建和启动后台进程,如何将其添加到启动等等。很简单。
我需要的唯一步骤是如何提高我在启动时创建的进程的优先级。
我看到,从PowerShell,我可以输入:
$prog = Get-Process -Name backgroundTaskHost
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::High
这很好用,我可以检查它运行命令:
Get-Process | Format-Table -View priority
如何以更高的优先级启动流程?是否有任何设置,命令或其他方法允许在启动时创建更高优先级的后台进程?
答案 0 :(得分:2)
There是任务的11个级别。 RealTime
具有最高优先级,其值为0,高于High
。您可以按running a PowerShell Script on Startup更高优先级启动流程。您可以按照以下步骤操作:
首先,创建一个新文件,将其命名为StartupScript.ps1并添加以下PowerShell代码行:
$prog = Get-Process -Name backgroundTaskHost
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::RealTime
其次,创建一个将执行PowerShell脚本的简单批处理(* .bat)文件。创建一个新文件,将其命名为“Startup.bat”,并使用以下代码填充它:
powershell -command "C:\StartupScript.ps1"
第三步,将脚本和批处理文件移动到IoT设备。您可以通过文件资源管理器访问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