Alterando a prioridade do processo do Windows via linha de comando

32

Eu quero alterar a prioridade do processo do Windows via linha de comando.

Como posso fazer isso?

    
por Bobs 17.07.2013 / 07:47

4 respostas

44

A sintaxe da linha de comando:

wmic process where name="AppName" CALL setpriority ProcessIDLevel

Exemplo:

wmic process where name="calc.exe" CALL setpriority 32768

ou

wmic process where name="calc.exe" CALL setpriority "above normal"

Prioridade:

  • ocioso: 64 (ou "ocioso")
  • abaixo do normal: 16384 (ou "abaixo do normal")
  • normal: 32 (ou "normal")
  • acima do normal: 32768 (ou "acima do normal")
  • alta prioridade: 128 (ou "alta prioridade")
  • tempo real: 256 (ou "tempo real")
por 17.07.2013 / 07:47
9

Uma pequena adição.

Você também pode usar valores de string em vez de inteiros (mais fáceis de memorizar) assim:

 wmic process where name="calc.exe" CALL setpriority "idle"

Valores possíveis: "ocioso", "baixo", "abaixo do normal", "normal", "acima do normal", "alta prioridade", "em tempo real"

PS. Não esqueça as aspas, especialmente se estiver usando várias palavras em um valor de string

    
por 17.07.2013 / 08:33
5

Da linha de comando em lote, eu simplesmente usaria o PowerShell. Este exemplo inicia calc.exe, localiza seu processo e ajusta sua classe de prioridade para "IDLE", também conhecido como LOW:

start /b /wait powershell.exe -command "calc.exe;$prog = Get-Process -Name calc;$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE"

Especifique um dos seguintes valores de enumeração: " Normal, Idle, High, RealTime, BelowNormal, AboveNormal "

Aqui está a mesma coisa do PowerShell com linhas divididas:

calc.exe
$prog = Get-Process -Name calc
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE
    
por 11.02.2014 / 21:17
3

Além das respostas existentes, a pergunta Windows Equivalent of 'nice' lista mais algumas soluções:

  1. Usando o comando START no prompt de comando (CMD).
  2. Usando o ProcessTamer gratuito para configurar uma regra no arquivo .exe que é automaticamente aplicado sempre que esse processo é iniciado.
  3. Usando um script do PowerShell contido aqui .
  4. Usando um script VBScript contido aqui .

Além disso, o antigo utilitário SetPriority ainda pode funcionar, mas eu não o experimento há muitos anos.

Algumas dessas soluções podem não funcionar nos serviços do sistema ou podem precisar ser Executar como administrador .

    
por 11.02.2014 / 11:25