Jawaban:
Sintaks baris perintah:
wmic process where name="AppName" CALL setpriority ProcessIDLevel
Contoh:
wmic process where name="calc.exe" CALL setpriority 32768
atau
wmic process where name="calc.exe" CALL setpriority "above normal"
Prioritas:
wmic process where 'name="calc.exe"' CALL setpriority "idle"
Tambahan kecil.
Anda juga dapat menggunakan nilai string sebagai ganti bilangan bulat (lebih mudah untuk dihafal) seperti itu:
wmic process where name="calc.exe" CALL setpriority "idle"
Nilai yang mungkin: "idle", "rendah", "di bawah normal", "normal", "di atas normal", "prioritas tinggi", "realtime"
PS. Jangan lupa tanda kutip, terutama jika menggunakan beberapa kata dalam nilai string
Dari baris perintah batch saya hanya akan menggunakan PowerShell. Contoh ini memulai calc.exe, menemukan prosesnya dan menyesuaikan kelas prioritasnya menjadi "IDLE", alias RENDAH:
start /b /wait powershell.exe -command "calc.exe;$prog = Get-Process -Name calc;$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE"
Tentukan salah satu dari nilai enumerasi berikut: " Normal, Idle, High, RealTime, BelowNormal, AboveNormal
"
Ini adalah hal yang sama dari PowerShell dengan garis terpecah:
calc.exe
$prog = Get-Process -Name calc
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE
Selain jawaban yang ada, pertanyaan Windows Equivalent of 'nice' mencantumkan beberapa solusi lainnya:
Selain itu, utilitas SetPriority lama mungkin masih berfungsi, tetapi saya belum mencobanya selama bertahun-tahun sekarang.
Beberapa solusi ini mungkin tidak berfungsi pada layanan sistem atau mungkin perlu Dijalankan sebagai Administrator .
Saya menjalankan Windows 7 64-bit.
The wmic perintah tidak dapat diandalkan. Dalam pengalaman saya yang cukup banyak, gagal secara tak terduga karena terlalu banyak alasan (kebanyakan tidak dapat dijelaskan).
Perintah terbaik yang mungkin, karena keandalannya, adalah perintah MULAI. Sintaksnya sangat sederhana (ini adalah perintah 3-line run untuk file batch ):
:: Boost thread priority
SET command=<program.exe> <options>
start "" /REALTIME /B /W %command%
Menurut pendapat saya, tingkat keandalan yang tinggi berasal dari kenyataan bahwa ia menetapkan tingkat prioritas dengan mana program exe diluncurkan, daripada mencoba untuk ikut campur dengan prioritas setelah program mulai berjalan dengan prioritas yang berbeda.
wmic process where "CommandLine like '%calc%'" CALL setpriority "below normal"