답변:
명령 줄 구문 :
wmic process where name="AppName" CALL setpriority ProcessIDLevel
예:
wmic process where name="calc.exe" CALL setpriority 32768
또는
wmic process where name="calc.exe" CALL setpriority "above normal"
우선 순위:
wmic process where 'name="calc.exe"' CALL setpriority "idle"
작은 추가.
다음과 같이 정수 대신 암기하는 문자열 값을 사용할 수도 있습니다.
wmic process where name="calc.exe" CALL setpriority "idle"
가능한 값 : "유휴", "낮음", "정상", "정상", "정상", "높은 우선 순위", "실시간"
추신. 특히 문자열 값에 여러 단어를 사용하는 경우 따옴표를 잊지 마십시오
배치 명령 줄에서 간단히 PowerShell을 사용합니다. 이 예에서는 calc.exe를 시작하고 프로세스를 찾아 우선 순위 클래스를 "IDLE"(일명 LOW)로 조정합니다.
start /b /wait powershell.exe -command "calc.exe;$prog = Get-Process -Name calc;$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE"
다음 열거 값 중 하나를 지정하십시오. " Normal, Idle, High, RealTime, BelowNormal, AboveNormal
"
분할 선이있는 PowerShell과 동일한 내용은 다음과 같습니다.
calc.exe
$prog = Get-Process -Name calc
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE
기존 답변 외에도 Windows Equivalent of 'nice'라는 질문 에는 몇 가지 솔루션이 더 있습니다.
또한 이전 SetPriority 유틸리티가 여전히 작동 할 수 있지만 몇 년 동안 시도하지 않았습니다.
이러한 솔루션 중 일부는 시스템 서비스에서 작동하지 않거나 관리자 권한으로 실행 해야 할 수 있습니다 .
Windows 7 64 비트를 실행하고 있습니다.
WMIC 명령은 하지 신뢰할. 필자의 상당한 경험에서 너무 많은 (주로 설명 할 수없는) 이유로 예기치 않게 실패했습니다.
신뢰성으로 인해 가능한 가장 좋은 명령은 START 명령입니다. 구문은 매우 간단합니다 ( 배치 파일에 대한 3 줄 실행 명령 ).
:: Boost thread priority
SET command=<program.exe> <options>
start "" /REALTIME /B /W %command%
제 생각 에는 프로그램의 우선 순위가 다른 우선 순위로 실행되기 시작한 후 우선 순위에 얽매이지 않고 .exe 프로그램이 시작되는 우선 순위 수준을 설정한다는 사실에서 높은 수준의 안정성이 나옵니다 .
wmic process where "CommandLine like '%calc%'" CALL setpriority "below normal"