Odpowiedzi:
Składnia wiersza poleceń:
wmic process where name="AppName" CALL setpriority ProcessIDLevel
Przykład:
wmic process where name="calc.exe" CALL setpriority 32768
lub
wmic process where name="calc.exe" CALL setpriority "above normal"
Priorytet:
wmic process where 'name="calc.exe"' CALL setpriority "idle"
Mały dodatek.
Możesz również użyć wartości ciągu zamiast liczb całkowitych (łatwiejsze do zapamiętania) w następujący sposób:
wmic process where name="calc.exe" CALL setpriority "idle"
Możliwe wartości: „bezczynny”, „niski”, „poniżej normalnego”, „normalny”, „powyżej normalnego”, „wysoki priorytet”, „w czasie rzeczywistym”
PS. Nie zapomnij o cudzysłowach, zwłaszcza jeśli używasz wielu słów w wartości ciągu
Z wiersza polecenia wsadowego po prostu używałbym PowerShell. Ten przykład uruchamia calc.exe, znajduje swój proces i dostosowuje klasę priorytetu do „IDLE”, czyli LOW:
start /b /wait powershell.exe -command "calc.exe;$prog = Get-Process -Name calc;$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE"
Podaj jedną z następujących wartości wyliczenia: „ Normal, Idle, High, RealTime, BelowNormal, AboveNormal
”
Oto to samo z PowerShell z liniami podziału:
calc.exe
$prog = Get-Process -Name calc
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE
Oprócz istniejących odpowiedzi na pytanie „ Ekwiwalent” systemu Windows znajduje się kilka innych rozwiązań:
Ponadto stare narzędzie SetPriority może nadal działać, ale nie próbowałem tego od wielu lat.
Niektóre z tych rozwiązań mogą nie działać w usługach systemowych lub mogą wymagać uruchomienia jako administrator .
Korzystam z systemu Windows 7 64-bit.
Komenda wmic nie jest niezawodna. Z mojego doświadczenia wynika, że nieoczekiwanie zawodzi z zbyt wielu (głównie niewytłumaczalnych) powodów.
Najlepszym możliwym poleceniem, ze względu na jego niezawodność, jest polecenie START. Składnia jest bardzo prosta (jest to 3-liniowa komenda uruchomienia dla pliku wsadowego ):
:: Boost thread priority
SET command=<program.exe> <options>
start "" /REALTIME /B /W %command%
Moim zdaniem jego wysoki stopień niezawodności wynika z faktu, że ustala poziom priorytetu, z którym uruchamiany jest program .exe, zamiast próbować wtrącać się w priorytety po uruchomieniu programu z innym priorytetem.
wmic process where "CommandLine like '%calc%'" CALL setpriority "below normal"