আমি কোন চলমান প্রোগ্রামের কমান্ড লাইন আর্গুমেন্টগুলি কীভাবে সন্ধান করব?


82

কোন প্রোগ্রামে কোন কমান্ড লাইন প্যারামিটারগুলি পাস করা হয়েছে তা অনুসন্ধান করার জন্য আমি একটি সরঞ্জাম বা পদ্ধতি সন্ধান করছি, উদাহরণস্বরূপ যখন এটি অন্য প্রোগ্রাম দ্বারা চালিত হয়েছিল (লঞ্চার-অ্যাপ্লিকেশন দৃশ্য)।

উত্তর:


70

আপনি প্রক্রিয়া এক্সপ্লোরার ব্যবহার করে এটি করতে পারেন ।

এটি শুরু করার জন্য ব্যবহৃত কমান্ড লাইন আর্গুমেন্টগুলি দেখার জন্য কেবল একটি প্রক্রিয়া ধরে আপনার মাউস নিয়ে ঘুরে দেখুন:
এখানে চিত্র বর্ণনা লিখুন

বিকল্পভাবে, আপনি প্রক্রিয়াটির বৈশিষ্ট্যগুলি খুলতে এবং ঠিক সেখানে কমান্ড লাইনটি পরীক্ষা করতে পারেন:
এখানে চিত্র বর্ণনা লিখুন


2
এটা দারুন.
কাটরেটজম

2
দুর্ভাগ্যক্রমে, উইনলিসেন্স / থেমিদা দ্বারা সুরক্ষিত অ্যাপ্লিকেশনগুলির সাথে কাজ করছে বলে মনে হচ্ছে না: oreans.com/winlicense.php অন্য কোনও ধারণা?
জিপার্ড

@ জিপার্ড: আপনি কীভাবে জানেন যে এটি কাজ করে না? আপনি কি নিশ্চিত যে অ্যাপ্লিকেশনটি আসলে কমান্ড লাইনের যুক্তি দিয়ে ডাকা হয়েছিল? যে কোনও উপায়ে, পিই সেই তথ্যটি নির্ধারণের জন্য উইন্ডোজ পদ্ধতি ব্যবহার করে । আমি অনুমান করি যে অন্য যে কোনও কিছু নির্দিষ্ট অ্যাপ্লিকেশনের সাথে কাস্টম অনুসারে তৈরি করতে হবে।
ডের হচস্টাপলার

6
আমার খারাপ, এটি পিই এলিভেটেড চালায় না। এটি উদ্দেশ্য হিসাবে কাজ করছে।
জিপার্ড

@ অলিভারসালজবার্গ, এই প্রোগ্রামটি কীভাবে কাজ করবে? কোনও সাধারণ সি প্রোগ্রাম কি এটি অর্জন করতে পারে?
পেসারিয়ার

87

আপনি উইন্ডোজ এর ডাব্লুএমআই পরিষেবা ব্যবহার করে প্রসেস এক্সপ্লোরার ছাড়াই এটি করতে পারেন। কমান্ড প্রম্পট থেকে নিম্নলিখিতটি চালান:

WMIC path win32_process get Caption,Processid,Commandline

যদি আপনি কোনও ফাইলের আউটপুট ডাম্প করতে চান (এটি পড়তে কিছুটা সহজ করে তোলে), / OUTPUT সুইচটি ব্যবহার করুন:

WMIC /OUTPUT:C:\Process.txt path win32_process get Caption,Processid,Commandline

4
ভাল লাগল, তুমি কীভাবে জানলে?
পেসারিয়ার

4
@ পেসারিয়র: আমি সত্যনিষ্ঠ হওয়ার বিষয়ে নিশ্চিত নই ;-) আমি মনে করি এটি ডাব্লুএমআই ডক্সের চারপাশে খনন করে এবং চারপাশে খেলতে এসেছিল কারণ আমার সেই সময়ে কোনও কিছুর জন্য ডাব্লুএমআই ব্যবহার করা দরকার ছিল।
অ্যান্ডি ই

3
আপনি কোন ডাব্লুএমআই ডক্স উল্লেখ করছেন?
পেসারিয়ার

3
এটি একটি চলমান প্রক্রিয়ার কমান্ড লাইন পাওয়ার জন্য খুব সহায়ক কমান্ড লাইন পদ্ধতি ছিল। আমার ক্ষেত্রে, আমি কেবলমাত্র একটি নির্দিষ্ট প্রক্রিয়ার জন্য আউটপুট পেতে সামান্য এটি টুইট করতে সক্ষম হয়েছি: ডাব্লুএমআইসি পাথ উইন 32_প্রসেস যেখানে "ক্যাপশন = 'সেমিডি.এক্সে'" কমান্ডলাইন পান
chriv

1
দুর্দান্ত, এবং যেখানে ক্লজটি আসলে কিছু এসকিউএল বৈশিষ্ট্য সমর্থন করে, উদাহরণস্বরূপ, যেখানে "'
সেন্টিমিটারের

38

একজন টাস্ক ম্যানেজার ব্যবহার করে এটি অর্জন করতে পারে ।

টাস্ক ম্যানেজার ওপেন করুন (CTRL-SHIFT-ESC, CTRL-ALT-DELETE বা অন্য কোনও পদ্ধতি দ্বারা)।

উইন্ডোজ 7 (এবং সম্ভবত উইন্ডোজ এক্সপি) এর জন্য:

  • "প্রক্রিয়াগুলি" ট্যাবে যান। "দেখুন" মেনুতে, "কলাম নির্বাচন করুন ..." নির্বাচন করুন।
  • "কমান্ড লাইন" এর চেকবাক্সটি পরীক্ষা করে ঠিক আছে ক্লিক করুন। (এটি পেতে আপনাকে নিচে স্ক্রোল করতে হতে পারে)

উইন্ডোজ 8 এর জন্য:

  • "বিশদ" ট্যাবে যান। যে কোনও কলামে ডান-ক্লিক করুন (উদাঃ নাম, পিআইডি ইত্যাদি) এবং "নির্বাচন করুন কলামগুলি" নির্বাচন করুন।
  • "কমান্ড লাইন" এর চেকবাক্সটি পরীক্ষা করে ঠিক আছে ক্লিক করুন। (এটি পেতে আপনাকে নিচে স্ক্রোল করতে হতে পারে)

কমান্ড লাইনের একটি কলাম বর্তমানে প্রদর্শিত কলামগুলিতে যুক্ত হবে।


1
আমি আপনাকে সত্যিই @ জেসবার্নামকে পাই না, কমান্ড লাইনটি যত দীর্ঘ হোক না কেন, পুরোপুরি দেখার জন্য কেউ সর্বদা কলামটির আকার পরিবর্তন করতে পারে?
জেরোমি অ্যাডোফো

1
কমান্ডের আকারের জন্য যদি উইন্ডোটি যথেষ্ট প্রশস্ত হয়। কমান্ডটি জাভা প্রক্রিয়াটির মতো দীর্ঘ ক্লাসপথের মতো কিছু হলে এটি উইন্ডো প্রস্থের সাথে খাপ খায় না।
জেসি বারনুম 16

1
ঠিক আছে, ধন্যবাদ। যদিও আমার টাস্ক ম্যানেজারটি স্ক্রোলযোগ্য - তবে আমার :-) সম্পর্কে জানেন না I আমি মনে করি যদি আপনি আমাকে চেষ্টা করার জন্য একটি নমুনা প্রোগ্রাম পাঠাতে পারেন তবে এটি মীমাংসা করতে পারে।
জেরোমি অ্যাডোফো

6
এটি একটি বিশাল আন্ডাররেটেড উত্তর, এটি সম্ভব কিনা কোনও ধারণা ছিল না।
হাশিম

4
আমি উইন্ডোজ টাস্ক ম্যানেজার সম্পর্কে উপরে বেশ কয়েকটি মন্তব্য দেখতে পাচ্ছি। এমনকি যদি আপনি একটি দীর্ঘ দীর্ঘ কমান্ড লাইনের সাথে জাভা প্রক্রিয়া দেখানোর জন্য 'কমান্ড লাইন' কলামটি সেট করেন তবে এটি কেটে যাবে। তবে, আপনি টাস্ক ম্যানেজারের সারিটিতে ক্লিক করতে পারেন এবং পুরো সারিটি 'অনুলিপি' (Ctrl-c) করতে পারেন এবং পুরো কমান্ড লাইনটি দেখার জন্য এটি কোনও পাঠ্য সম্পাদক এ পেস্ট করতে পারেন, যতক্ষণ সময় না।
জনডি

6

পাওয়ারশেল উদ্ধারে।

খুঁজুন:

Get-WmiObject Win32_Process -Filter "name = 'perl.exe'" | where {$_.CommandLine -eq '"C:\strawberry\perl\bin\perl.exe" t/Server_PreFork.t'}

এবং বোনাস হিসাবে হত্যা:

Get-WmiObject Win32_Process -Filter "name = 'perl.exe'" | where {$_.CommandLine -eq '"C:\strawberry\perl\bin\perl.exe" t/Server_PreFork.t'} | ForEach-Object { Invoke-WmiMethod -Path $_.__Path –Name Terminate }

আপনি যদি নিজের সিস্টেম সেটআপ পেয়ে থাকেন তবে আপনি এটিকে সরাসরি পাওয়ার শেল থেকে বা একটি পিএস 1 থেকে চালাতে পারেন। আমি পাওয়ারসহেল পাশাপাশি অন্যান্য পাওয়ার শেল ট্রিকস দ্বারা জম্বিদের মেরে নেভিগেশন অনিয়ন্ত্রিত স্ক্রিপ্ট সেটআপটি বিশদভাবে জানিয়েছি ...


1
ওহ, ... প্রশ্নের শিরোনাম দেওয়াতে হত্যার অংশটি বেশ বিপজ্জনক;) ওথেরিউস একটি খুব ঝরঝরে উত্তর;)
টম

5

প্রক্রিয়া ইতিমধ্যে চলছে এবং শীঘ্রই কোন সমাপ্ত হতে না পারে ক্ষেত্রে পূর্ববর্তী উত্তরগুলি দুর্দান্ত। তবে আপনার যদি প্রয়োজন হয় (যেমন আমি করেছি) সম্ভবত একাধিকবার প্রক্রিয়া শুরু করার সাথে এবং / অথবা দ্রুত সমাপ্ত হতে পারে বা একটি দীর্ঘ সময়ের মধ্যে উপস্থিতিগুলি লগ করতে পারে তবে প্রসেস মনিটর ব্যবহার করে এটির একটি উপায় রয়েছে ।

মূলত এটি সিস্টেমে বিভিন্ন ইভেন্ট লগ করে, এক্ষেত্রে আমরা কেবল "প্রক্রিয়া শুরু করুন" ইভেন্টটি এবং আমরা যে প্রক্রিয়াটি পর্যবেক্ষণ করতে চাই তার নাম ফিল্টার করতে পারি, নীচে দেখানো হয়েছে:

এখানে চিত্র বর্ণনা লিখুন

তারপরে প্রসেস মনিটরটি চলমান রাখুন এবং আপনি যে প্রক্রিয়াটি চালিয়ে যান লগ করতে চান তা করতে করুন। আপনি কমান্ড লাইন আর্গুমেন্ট "বিশদ" কলাম বা "কমান্ড লাইন" কলামে (আপনি সেগুলি কীভাবে কনফিগার করেন তার উপর নির্ভর করে) দেখতে পাবেন। উদাহরণ স্বরূপ:

এখানে চিত্র বর্ণনা লিখুন

অবশ্যই আপনি আরও সম্পর্কিত সম্পর্কিত তথ্য বের করতে পারেন যেমন ওয়ার্কিং ডিরেক্টরিটি কী, প্রক্রিয়াটিতে পরিবেশের পরিবর্তনগুলি কীভাবে পাস করা হয় ইত্যাদি ইত্যাদি ... এছাড়াও কোনও ফাইলে ফলাফল রফতানি করা সহজ।


1

সাইগউইন ব্যবহার করার সময় , আমি যদি পাইথন প্রক্রিয়া শুরু করি তবে এটি কমান্ড লাইনের একটি উদাহরণ:

c:\CygWin\bin\python2.7.exe /usr/local/bin/sudoserver.py

তবে প্রক্রিয়া এক্সপ্লোরার কেবলমাত্র প্রধান উদাহরণটি দেখবে:

প্রক্রিয়া এক্সপ্লোরার পাইথন প্রক্রিয়াটির সম্পূর্ণ কমান্ড লাইন সনাক্ত করে না

( "পথটি: [প্রক্রিয়া বার্তার প্রারম্ভিক ত্রুটি] নোট করুন " " (EDIT-1 দেখুন))। এর জন্য একই ফলাফল tasklist:

C:\>tasklist | find "python" /i
python2.7.exe                 5740 Console                    1    15.312 KB

সুতরাং, আমি এখনও অবধি একমাত্র কৌশল, এটি সাইগউইন বাশ শেলের মাধ্যমে খুঁজে পেয়েছি pgrep:

Luis@Kenobi /cygdrive/c/
$ pgrep -f -l server.py
5740 /usr/bin/python2.7 /usr/local/bin/sudoserver.py

এটি জানার জন্য দরকারী, যতক্ষণ না সাইগউইন উইন্ডোজে কোনও সমস্যা না করে এবং আপনি এটি অনেকগুলি পসিক্স এবং পাইথন প্রোগ্রাম চালাতে ব্যবহার করতে পারেন।

সম্পাদনা: উইন্ডোজে আপনার কাছে টাস্কলিস্টের জন্য প্রশাসকের প্রাইভেলিজ দরকার নেই বলে মনে হয়। সাইগউইনগুলিতে আপনাকে প্রশাসকের প্রক্রিয়াটি দেখার পক্ষে সক্ষম হতে হবে (আমার কাছে এটি আরও যুক্তিযুক্ত বলে মনে হয়: সম্পূর্ণ কমান্ড-লাইনের ভিতরে পাসওয়ার্ডের মতো কিছু পরামিতি থাকতে পারে ), সুতরাং আমাদের অবশ্যই উন্নত প্রশাসক মোডে সাইগউইন বাশ চালাতে হবে ।

সম্পাদনা -১: আপনি প্রশাসক হিসাবে প্রসেস এক্সপ্লোরার চালালে এই সমস্যাটি ঘটবে না। নির্দেশক, পেসারিয়ার জন্য আপনাকে ধন্যবাদ।


2
আপনি যদি প্রশাসক হিসাবে চালান তবে আপনি দেখতে পাবেন না[Error opening process message]
পেসারিয়ার

আপনি ঠিক ছিলেন, পেসারিয়র। মনে রাখা খুব সুস্পষ্ট :-)। আপনাকে ধন্যবাদ. আমি আমার পোস্টটি প্রতিফলিত করতে সম্পাদনা করেছি।
সোপালাজো ডি অ্যারিরেজ

-3

যান runবা যাও startএবং অনুসন্ধান করুন:

tasklist -m

tasklist -svc

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