কমান্ড লাইনের মাধ্যমে উইন্ডোজ প্রক্রিয়া অগ্রাধিকার পরিবর্তন করা


41

আমি কমান্ড লাইনের মাধ্যমে উইন্ডোজ প্রক্রিয়াটির অগ্রাধিকারটি পরিবর্তন করতে চাই।

আমি এটা কিভাবে করবো?

উত্তর:


54

কমান্ড লাইন সিনট্যাক্স:

wmic process where name="AppName" CALL setpriority ProcessIDLevel

উদাহরণ:

wmic process where name="calc.exe" CALL setpriority 32768

অথবা

wmic process where name="calc.exe" CALL setpriority "above normal"

অগ্রাধিকার:

  • নিষ্ক্রিয়: 64 (বা "নিষ্ক্রিয়")
  • সাধারণের নীচে: 16384 (বা "সাধারণের নীচে")
  • সাধারণ: 32 (বা "সাধারণ")
  • স্বাভাবিকের উপরে: 32768 (বা "সাধারণের উপরে")
  • উচ্চ অগ্রাধিকার: 128 (বা "উচ্চ অগ্রাধিকার")
  • আসল সময়: 256 (বা "রিয়েলটাইম")

7
আপনি ওয়াইল্ডকার্ডগুলিও করতে পারেন wmic process where "CommandLine like '%calc%'" CALL setpriority "below normal"
laggingreflex

প্রসেস এক্সপ্লোরার এর মতো পটভূমির জন্য (কম আইও এবং মেমরির অগ্রাধিকার) জন্য একই কাজ করা সম্ভব?
মিকি

এটি কি ব্যাচ থেকে "cmd.exe" এ কাজ করবে? ... ব্যাচ যে সেমিডি.এক্স.ই শুরু হবে?
গেমার003

দ্রষ্টব্য: উদ্ধৃতিগুলির প্রথম সেটটি বাধ্যতামূলক, সুতরাং অন্যান্য শেলগুলিতে উদ্ধৃতিগুলি অবশ্যই এড়িয়ে যেতে হবে (বা ডাবল-কোটড)। wmic process where 'name="calc.exe"' CALL setpriority "idle"
সাইগউইনে

2
সাধারণ মানের নীচে / উপরে কেন এত বড় এবং অদ্ভুত? এবং অলস এবং রিয়েলটাইম উভয়ের চেয়ে স্বাভাবিক কেন কম?
ফুক্লভ

11

একটি ছোট সংযোজন।

আপনি পূর্ণসংখ্যার পরিবর্তে স্ট্রিং মানগুলি (স্মরণে রাখা সহজ) এর মতো ব্যবহার করতে পারেন:

 wmic process where name="calc.exe" CALL setpriority "idle"

সম্ভাব্য মান: "অলস", "নিম্ন", "স্বাভাবিকের নীচে", "সাধারণ", "সাধারণের উপরে", "উচ্চ অগ্রাধিকার", "রিয়েলটাইম"

গীত। উদ্ধৃতিগুলি ভুলে যাবেন না, বিশেষত যদি স্ট্রিংয়ের মানটিতে একাধিক শব্দ ব্যবহার করা হয়


একাধিক শব্দ ব্যবহার না করা সত্ত্বেও প্রথম উদ্ধৃতিগুলি বাধ্যতামূলক। এটি শেল দ্বারা ব্যাখ্যা না করে কমান্ডেও পাস করতে হবে।
piojo

উইন 10 প্রো 1809-তে, "কম" একটি স্বীকৃত মান নয় - এটি একটি ত্রুটি নিক্ষেপ করে। "নিষ্ক্রিয়" ব্যবহারের ফলে টাস্ক ম্যানেজারে প্রক্রিয়াটিকে "কম" অগ্রাধিকার হিসাবে প্রদর্শিত হয় ...
ljwobker

5

ব্যাচের কমান্ড লাইন থেকে আমি কেবল পাওয়ারশেল ব্যবহার করব। এই উদাহরণটি ক্যালক.এক্সে শুরু হয়, এটির প্রক্রিয়াটি আবিষ্কার করে এবং এর অগ্রাধিকার শ্রেণিকে "আইডিএল", ওরফে লো-এর সাথে সামঞ্জস্য করে:

start /b /wait powershell.exe -command "calc.exe;$prog = Get-Process -Name calc;$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE"

নিম্নলিখিত অঙ্কের একটি মান উল্লেখ করুন: " Normal, Idle, High, RealTime, BelowNormal, AboveNormal"

এখানে বিভাজন লাইনের সাথে পাওয়ারশেলের একই জিনিস:

calc.exe
$prog = Get-Process -Name calc
$prog.PriorityClass = [System.Diagnostics.ProcessPriorityClass]::IDLE

এর আগে যা বলা হয়েছিল তার পুনরাবৃত্তি করার কী লাভ?
harrymc

@harrymc এটি পাওয়ারশেল ব্যবহার করে মূল প্রশ্নের উত্তর দেয়।
প্যারাড্রয়েড

@harrymc - আসলে আমি ডিসি থেকে যা বলেছিলাম তার পুনরাবৃত্তি করছি। stackoverflow.com/questions/20693028/...
গিঁট-Dragger

সমস্যা নেই. ঠিক তেমনই আমি লিঙ্ক করেছি বেশ কিছু অনুরূপ।
harrymc

5

বিদ্যমান উত্তরের পাশাপাশি, 'চমৎকার' এর উইন্ডোজ সমতুল্য প্রশ্নটি আরও কয়েকটি সমাধান তালিকাবদ্ধ করে:

  1. কমান্ড-প্রম্পটে (সিএমডি) START কমান্ডটি ব্যবহার করে ।
  2. যখনই এই প্রক্রিয়া শুরু হয় তখন স্বয়ংক্রিয়ভাবে প্রয়োগ করা হয় .exe এ একটি নিয়ম সেট করতে ফ্রি প্রসেসটামার ব্যবহার করে ।
  3. এখানে থাকা পাওয়ারশেল স্ক্রিপ্ট ব্যবহার করে ।
  4. এখানে থাকা একটি ভিবিএস স্ক্রিপ্ট স্ক্রিপ্ট ব্যবহার করে ।

অতিরিক্তভাবে, পুরানো সেটপ্রিয়রিটি ইউটিলিটি এখনও কার্যকর হতে পারে তবে আমি এখন অনেক বছর ধরে চেষ্টা করে দেখিনি।

এর মধ্যে কয়েকটি সমাধান সিস্টেম পরিষেবাদিতে কাজ না করে বা অ্যাডমিনিস্ট্রেটর হিসাবে চালানোর প্রয়োজন হতে পারে ।


ভিবিস্ক্রিপ্ট সমাধানের সাথে স্পষ্ট চিত্রটি হ'ল এটি সম্পাদন করতে 23 লাইন কোড লাগবে (যেমন অগ্রাধিকারের স্তরটি নির্ধারণ করুন), যেখানে START কমান্ড এটি করতে 2 টি লাইন নেয় (একটি, একটি চিম্টিতে, তাই এটি এমনকি এখানে কাজ করে) একটি বেয়ার কমান্ড প্রম্পট): "" / রিয়েলটাইম / বি / ডাব্লু প্রোগ্রাম.এক্সে শুরু করুন
এড 999

1

আমি উইন্ডোজ 7 64-বিট চালাচ্ছি।

Wmic কমান্ড না নির্ভরযোগ্য। আমার যথেষ্ট অভিজ্ঞতায় এটি অনেকগুলি (বেশিরভাগই অবর্ণনীয়) কারণে অপ্রত্যাশিতভাবে ব্যর্থ হয়।

সর্বোত্তম সম্ভাব্য কমান্ড, এর নির্ভরযোগ্যতার কারণে, START কমান্ড। বাক্য গঠনটি খুব সহজ (এটি একটি ব্যাচের ফাইলের জন্য 3-লাইন রান কমান্ড ):

::  Boost thread priority
SET command=<program.exe> <options>
start "" /REALTIME /B /W  %command%

আমার মতে এটির উচ্চতর নির্ভরযোগ্যতা এই সত্য থেকে উদ্ভূত হয়েছে যে এটি .exe প্রোগ্রামটি যে অগ্রাধিকারের স্তরের সাথে সেট করে প্রোগ্রামটি অন্য কোনও অগ্রাধিকার নিয়ে চলতে শুরু করার পরে অগ্রাধিকারের সাথে হস্তক্ষেপের চেষ্টা করার চেয়ে সেট করে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.