Windows Эквивалент слова "хороший"

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

Я специально ищу то, что можно использовать в командной строке, а не в меню «Установить приоритет» в диспетчере задач.

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

Ответов (4)

Решение

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

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

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

Возможно, вы захотите рассмотреть возможность использования ProcessTamer, который «автоматизирует» процесс понижения или обновления приоритета процесса в зависимости от ваших настроек.

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

Если вы используете PowerShell , вы можете написать сценарий, позволяющий изменять приоритет процесса. В блоге Monad я нашел следующую функцию 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"

из 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";
}