Эквивалент Windows «хороший»

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

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

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

7.08.2008 00:39:17
4 ОТВЕТА
РЕШЕНИЕ

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

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

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

62
5.09.2019 15:11:06
Для того, чтобы startвести себя еще более , как nice, использовать /WAITи /Bвозможности сделать вывод на терминал идти в том же окне.
Albert Armea 2.09.2014 17:52:08
Тем не менее, это, кажется, полностью удаляет историю команд (как от клавиш со стрелками, так и от нажатия F7).
Albert Armea 2.09.2014 21:26:38
Это по-прежнему не объясняет, как изменить приоритет запуска процессов - ответ от Duane (через VBScript) в настоящее время является лучшим ответом для этого.
Simon Sobisch 11.11.2016 08:01:33
Если вы попытаетесь запустить что-то подобное, start /low "C:\Program Files\myprog.exe" param1 param2вы получите сообщение об ошибке «Windows не может найти« param1 »». Решение состоит в том, чтобы заменить «C: \ Program Files \ ...» на c: \ progra ~ 1 \ .. без кавычек (имя каталога DOS).
Putnik 23.03.2019 14:28:37

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

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

5
7.08.2008 01:21:06

Если вы используете 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"
8
31.01.2017 14:10:09

с 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";
}
3
29.03.2009 14:14:31