Je veux changer la priorité du processus Windows via la ligne de commande.
Comment puis-je faire cela?
Je veux changer la priorité du processus Windows via la ligne de commande.
Comment puis-je faire cela?
La syntaxe de la ligne de commande:
wmic process where name="NomApplication" CALL setpriority NiveauProcessusID
Exemple:
wmic process where name="calc.exe" CALL setpriority 32768
ou
wmic process where name="calc.exe" CALL setpriority "au-dessus de la normale"
Priorité:
Un petit ajout.
Vous pouvez également utiliser des valeurs de chaîne au lieu d'entiers (plus faciles à mémoriser) comme ceci:
wmic process where name="calc.exe" CALL setpriority "idle"
Valeurs possibles: "idle", "low", "below normal", "normal", "above normal", "high priority", "realtime"
PS. N'oubliez pas les guillemets, surtout si vous utilisez plusieurs mots dans une valeur de chaîne
De la ligne de commande par lots, j'utiliserais simplement PowerShell. Cet exemple lance calc.exe, trouve son processus et ajuste sa classe de priorité à "IDLE", alias LOW:
start /b /wait powershell.exe -command "calc.exe;$prog = Get-Process -Name calc;$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE"
Spécifiez l'une des valeurs d'énumération suivantes: "Normal, Idle, High, RealTime, BelowNormal, AboveNormal
"
Voici la même chose en PowerShell avec des lignes séparées:
calc.exe
$prog = Get-Process -Name calc
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE
En plus des réponses existantes, la question Équivalent Windows de 'nice' liste quelques autres solutions :
De plus, l'ancienne SetPriority utilitaire pourrait toujours fonctionner, mais je ne l'ai pas essayé depuis de nombreuses années maintenant.
Certaines de ces solutions peuvent ne pas fonctionner sur les services système ou nécessiter d'être Exécuté en tant qu'administrateur.
Je cours Windows 7 64 bits.
La commande wmic n'est pas fiable. À mon avis, elle échoue de manière inattendue pour trop de raisons (souvent inexplicables).
La meilleure commande possible, en raison de sa fiabilité, est la commande START. La syntaxe est très simple (il s'agit de la commande d'exécution en 3 lignes pour un fichier batch) :
:: Augmenter la priorité du thread
SET commande=
start "" /REALTIME /B /W %commande%
À mon avis, son degré élevé de fiabilité découle du fait qu'il définit le niveau de priorité avec lequel le programme .exe est lancé, plutôt que d'essayer de manipuler la priorité après que le programme a commencé à s'exécuter avec une priorité différente.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.