Windows эквивалент 'nice'


есть ли эквивалент Windows для команды Unix,хороший?

Я специально ищу что-то, что я могу использовать в командной строке, и не Меню "установить приоритет" из Диспетчера задач.

мои попытки найти это в Google были сорваны теми, кто не может придумать лучше прилагательные.

5 62

5 ответов:

Если вы хотите установить приоритет для запуска процесса вы можете использовать встроенную команду "Старт":

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

использовать минимум через опции "ниже среднего", чтобы установить приоритет запускаемой программы команду/. Кажется, это самое простое решение. Нет загрузки или написания сценария. Другие решения, вероятно, работают на уже запущенных процессорах.

Если вы используете PowerShell, вы можете написать сценарий, который позволит вам изменить приоритет процесса. Я нашел следующую функцию PowerShell на блог монады:

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)`""
}

из командной строки PowerShell, вы бы сделать что-то строка:

set-ProcessPriority SomeProcessName "High"

может быть, вы хотите рассмотреть возможность использования ProcessTamer что "автоматизировать" процесс понижения или обновления приоритета процесса на основе ваших настроек.

Я использую его в течение двух лет. Это очень просто, но очень эффективно!

от 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";
}

PrcView, похоже, также работает с командной строкой:

http://www.teamcti.com/pview/prcview.htm

(Проверьте параметр-ph)