কোন আদেশ না থামিয়ে কার্যকর করা হচ্ছে তা কীভাবে জানবেন?


20

আমার উদাহরণে, আমি একটি কমান্ড চালাচ্ছি যা কার্যকর করতে খুব বেশি সময় নেয় (বেশ কয়েক ঘন্টা)।

আমি মেক-জেক 4 তৈরি করেছি কিনা তা সত্যিই মনে নেই।

অবশ্যই আমি এটি বন্ধ করতে এবং কী টিপতে বা ইতিহাসটি পরীক্ষা করতে এটি জানতে পেরেছি, তবে এটি প্রক্রিয়াটি থামিয়ে দেবে এবং আমি চাই না যে এটি ঘটুক (যদি এটি ইতিমধ্যে মেক-জে 4 করছে)।

প্রক্রিয়াটি বন্ধ না করে কোন আদেশটি কার্যকর করা হচ্ছে তা জানার কোনও উপায় আছে কি?


5
অন্য টার্মিনাল থেকে, চেষ্টা করুনpgrep -a make
1024

2
আপনি যদি makeএটি থামাতে এবং পুনরায় চালু করতে পারেন এবং এটি যেখানে ছেড়ে গেছে সেখানেই এটি নেওয়া উচিত।
ব্যবহারকারী 253751

উত্তর:


34

আপনি যদি makeআপনার কম্পিউটারে চলমান প্রতিটি ঘটনার জন্য সম্পূর্ণ কমান্ড লাইনটি দেখতে চান তবে একটি নতুন টার্মিনাল খুলুন এবং চেষ্টা করুন:

pgrep -a make

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


7
এটি প্রশ্নের মতো সাধারণ মামলার ক্ষেত্রে দরকারী। তবে যদি কমান্ডটি পাইপলাইন, লুপস, কমান্ডের অনুক্রম, অভ্যন্তরীণ কমান্ড বা ভেরিয়েবল সম্প্রসারণের সাথে জড়িত থাকে তবে আপনি যা খুঁজে পেতে চান pgrepতা কমান্ড লাইনে টাইপ করা কমান্ডের চেয়ে আলাদা হবে।
ক্যাস্পারড

28

টার্মিনাল উইন্ডোটি সক্রিয় থাকাকালীন আপনি Ctrl+ টিপে প্রক্রিয়াটি বিরতি (স্থগিত) করতে পারেন Z। তারপরে আপনি টাইপ করে পটভূমিতে কাজটি ধাক্কা দিতে পারেন bg(আপনার কাজটি এখন পটভূমিতে অব্যাহত থাকবে এবং আপনি একই সাথে কমান্ড লাইনে কাজ করতে পারবেন; এটি কমান্ড লাইনের &শেষে কাজ শুরু করার সমতুল্য )। তারপরে আপনি কোন আদেশ ব্যবহার করেছেন তা দেখতে কার্সার-তীরগুলি (উপরে এবং নীচে) ব্যবহার করুন। আপনি যদি চান (তবে এটি প্রয়োজনীয় নয়) তবে টাইপ করে আপনার কাজটি অগ্রভাগে পেতে পারেন fg


7
এটি কিছু কমান্ডের সাথে কাজ করে তবে সমস্ত নয়। উদাহরণস্বরূপ আপনি যদি একটি লুপ টাইপ করেন for X in {1..1000} ; do sleep $X ; doneতবে লুপটি বাধাগ্রস্থ হবে এবং বাকী পুনরাবৃত্তি ঘটবে না।
ক্যাস্পারড

11
@ ক্যাস্পারড হ্যাঁ, আপনি যদি আমাকে জিজ্ঞাসা করেন তবে বেশ বিরক্তিকর, তবে আমি এই ইস্যুটির জন্য একটি দুর্দান্ত কাজ খুঁজে পেয়েছি। প্রথম বন্ধনী হিসাবে একটি জটিল কমান্ড চারদিকে তাই এটি একটি সাবশেল। তারপরে Ctrl-Z পুরো সাবস্কেল স্থগিত করবে এবং সঠিকভাবে পুনরায় শুরু করবে।
পেঙ্গুইন 359

@ ক্যাস্পারড বাশ-এ নেই, তবে তারা zsh এ করছে।
জোল

4
jobsকাজটিকে পটভূমিতে রাখার দরকার নেই: এটি স্থগিত করা, ইতিহাস (বা , @ আইচাবডের উত্তরে দেখানো হয়েছে) পরীক্ষা করা এবং তারপরে এটি আবার চালু করার পক্ষে যথেষ্ট fg
কনরাড রুডল্ফ

10

আমি স্টেফানের মতো কিছু করি: p জেড বিরাম দেওয়ার জন্য, এবং তারপরে আমি দৌড়ে jobs। আপনার যদি একাধিক প্রক্রিয়া চলমান থাকে তবে আপনি হয়ত কোন কাজটি থামিয়েছিলেন সেটি আপনি বের করে দিতে পারেন, তবে এটি সাধারণত কমান্ড লাইন দেয়। তারপরে fgকার্যকর করা চালিয়ে যেতে চালান ।


1

এই গতিশীলভাবে দেখার ভাল উপায় হ'ল শীর্ষস্থান চালানো এবং এটি আপনাকে সামগ্রিক সিস্টেমের অবস্থা এবং সিস্টেমে চলমান প্রক্রিয়াগুলি জানায়।

'পিএক্স ইউএক্স' করা আপনার প্রক্রিয়াগুলি পিড এবং অন্যান্য তথ্যের সাথে দেখায়, আপনি যদি চান তবে তাদের কয়েকটি কেটে ফেলতে দক্ষতা ব্যবহার করতে পারেন, এর জন্য ম্যান পেজ একটি ভাল উত্স, এবং একটি দক্ষতা করা বা হত্যা -9 স্টিকি প্রসেস পেয়ে যায় ডিভাইসে অপেক্ষা করা ইত্যাদি You আপনি অন্যান্য সংকেত যেমন -hup, ডেমোন পুনরায় আরম্ভ করা ইত্যাদি প্রক্রিয়ায়ও পাঠাতে পারেন

শীর্ষস্থানটি দুর্দান্ত কারণ এটি আপনাকে আকার, প্রবাহিত সময় এবং বর্তমান সিপিইউ স্থিতি এবং মেমরি এবং অদলবদাকে প্রসেস করে shows

আমি প্রায়শই একটি মেক> এবং মেকআউট করি এবং তারপরে মেকআউট আউট লগ ফাইলটিতে কম বা লেজুফ করুন। যেহেতু এখন তৈরি করা আমার শেল সেশন থেকে একটি প্রক্রিয়া হিসাবে আলাদা করা হয়।

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