Yanıtlar:
Komut satırı sözdizimi:
wmic process where name="AppName" CALL setpriority ProcessIDLevel
Örnek:
wmic process where name="calc.exe" CALL setpriority 32768
veya
wmic process where name="calc.exe" CALL setpriority "above normal"
Öncelik:
wmic process where 'name="calc.exe"' CALL setpriority "idle"
Küçük bir ek.
Ayrıca, tamsayılar yerine (ezberlemesi kolay) dize değerlerini de kullanabilirsiniz:
wmic process where name="calc.exe" CALL setpriority "idle"
Olası değerler: "rölanti", "düşük", "normalin altında", "normal", "normalin üzerinde", "yüksek öncelikli", "gerçek zamanlı"
PS. Özellikle bir dize değerinde birden çok kelime kullanıyorsanız, alıntıları unutmayın
Toplu komut satırından sadece PowerShell kullanırdım. Bu örnek calc.exe dosyasını başlatır, sürecini bulur ve öncelik sınıfını "IDLE", aka LOW olarak ayarlar:
start /b /wait powershell.exe -command "calc.exe;$prog = Get-Process -Name calc;$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE"
Aşağıdaki numaralandırma değerlerinden birini belirtin: " Normal, Idle, High, RealTime, BelowNormal, AboveNormal
"
İşte PowerShell'den bölünmüş çizgilerle aynı şey:
calc.exe
$prog = Get-Process -Name calc
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE
Mevcut cevaplara ek olarak , 'nice' Windows Eşdeğeri sorusu daha fazla çözümü listeliyor:
Ek olarak, eski SetPriority yardımcı programı hala çalışabilir, ancak bunu uzun zamandır denemedim.
Bu çözümlerden bazıları sistem hizmetleri üzerinde çalışmayabilir veya Yönetici olarak Çalıştırılması gerekebilir .
Windows 7 64-bit kullanıyorum.
Wmic komuttur değil güvenilir. Önemli tecrübelerime göre, çok fazla (çoğunlukla açıklanamayan) sebeplerden dolayı beklenmedik bir şekilde başarısız oluyor.
Mümkün olan en iyi komut, güvenilirliği nedeniyle, START komutudur. Sözdizimi çok basittir (bu bir toplu iş dosyası için 3 satırlı çalıştırma komutudur ):
:: Boost thread priority
SET command=<program.exe> <options>
start "" /REALTIME /B /W %command%
Kanımca yüksek güvenilirlik derecesi , program farklı bir öncelikle çalışmaya başladıktan sonra önceliği karıştırmaya çalışmak yerine, .exe programının başlatıldığı öncelik seviyesini belirlemesinden kaynaklanmaktadır.
wmic process where "CommandLine like '%calc%'" CALL setpriority "below normal"