سؤال

هل يوجد نظام Windows مكافئ لأمر Unix، لطيف - جيد?

أنا أبحث على وجه التحديد عن شيء يمكنني استخدامه في سطر الأوامر، و لا قائمة "تحديد الأولوية" من مدير المهام.

لقد تم إحباط محاولاتي للعثور على هذا على Google من قبل أولئك الذين لا يستطيعون التوصل إلى صفات أفضل.

هل كانت مفيدة؟

المحلول

إذا كنت تريد تعيين الأولوية عند بدء عملية ما، فيمكنك استخدام أمر البدء المدمج:

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

استخدم الخيارات المنخفضة إلى الأقل من العادية لتعيين أولوية الأمر/البرنامج الذي تم تشغيله.يبدو وكأنه الحل الأكثر مباشرة.لا التنزيلات أو كتابة السيناريو.من المحتمل أن تعمل الحلول الأخرى على العمليات الجاري تشغيلها بالفعل.

نصائح أخرى

إذا كنت تستخدم بوويرشيل, يمكنك كتابة برنامج نصي يتيح لك تغيير أولوية العملية.لقد وجدت وظيفة 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)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top