while variable loop for windows unix process-management

windows - loop - variable in unix



Windows equivalente a ''agradable'' (4)

Si desea establecer la prioridad al iniciar un proceso, puede usar el comando START incorporado:

START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/WAIT] [/B] [command/program] [parameters]

Use las opciones normales bajas a través de abajo para establecer la prioridad del comando / programa lanzado. Parece la solución más sencilla. Sin descargas ni escritura de guiones. Sin embargo, las otras soluciones probablemente funcionen en ejecutando procs.

¿Hay un equivalente de Windows del comando Unix, bien ?

Estoy buscando específicamente algo que pueda usar en la línea de comandos, y no el menú "Establecer prioridad" del administrador de tareas.

Mis intentos de encontrar esto en Google han sido frustrados por aquellos que no pueden encontrar mejores adjetivos.


Si usa PowerShell , puede escribir un script que le permita cambiar la prioridad de un proceso. Encontré la siguiente función de PowerShell en el blog de Monad :

function set-ProcessPriority { param($processName = $(throw "Enter process name"), $priority = "Normal") get-process -processname $processname | foreach { $_.PriorityClass = $priority } write-host "`"$($processName)`"''s priority is set to `"$($priority)`"" }

Desde el indicador de PowerShell, haría algo en línea:

set-ProcessPriority SomeProcessName "High"


Tal vez desee considerar el uso de ProcessTamer que "automatiza" el proceso de degradar o actualizar la prioridad del proceso según su configuración.

Lo he estado usando por dos años. ¡Es muy simple pero realmente efectivo!


de http://techtasks.com/code/viewbookcode/567

# This code sets the priority of a process # --------------------------------------------------------------- # Adapted from VBScript code contained in the book: # "Windows Server Cookbook" by Robbie Allen # ISBN: 0-596-00633-0 # --------------------------------------------------------------- use Win32::OLE; $Win32::OLE::Warn = 3; use constant NORMAL => 32; use constant IDLE => 64; use constant HIGH_PRIORITY => 128; use constant REALTIME => 256; use constant BELOW_NORMAL => 16384; use constant ABOVE_NORMAL => 32768; # ------ SCRIPT CONFIGURATION ------ $strComputer = ''.''; $intPID = 2880; # set this to the PID of the target process $intPriority = ABOVE_NORMAL; # Set this to one of the constants above # ------ END CONFIGURATION --------- print "Process PID: $intPID/n"; $objWMIProcess = Win32::OLE->GetObject(''winmgmts:////' . $strComputer . ''//root//cimv2:Win32_Process.Handle=/''' . $intPID . ''/'''); print ''Process name: '' . $objWMIProcess->Name, "/n"; $intRC = $objWMIProcess->SetPriority($intPriority); if ($intRC == 0) { print "Successfully set priority./n"; } else { print ''Could not set priority. Error code: '' . $intRC, "/n"; }