আপনি যখন কাজ করছেন, মাঝে মাঝে আপনার প্রোগ্রামগুলি হঠাৎ জমে যায়। অন্য সময়ে, প্রোগ্রামগুলি এখনও চলছে কিন্তু উচ্চ প্রসেসর বা মেমরি খরচ সহ। লিনাক্সে ps
ব্যবহার করে এটি ঠিক করার একটি উপায় আছে (P rocess S tatus) আদেশ। এখানে আমরা আপনাকে দেখাই কিভাবে ps
ব্যবহার করতে হয় বর্তমানে চলমান প্রক্রিয়া এবং তাদের পিআইডি তালিকা করতে লিনাক্সে কমান্ড দিন। তারপরে আপনি আপনার সংস্থানগুলি ব্যবহার করার প্রক্রিয়াগুলি খুঁজে পেতে এবং মেরে ফেলতে পারেন৷
"ps" কমান্ড ব্যবহার করে
ps
কমান্ড নিজেই ব্যবহার করা যেতে পারে। এটি তথ্যের চারটি কলাম আউটপুট করবে:
- PID :সিস্টেম দ্বারা সংজ্ঞায়িত প্রক্রিয়ার অনন্য শনাক্তকারী। এটি সেই মান যা আমরা একটি প্রক্রিয়া বন্ধ করতে ব্যবহার করি।
- TTY :টার্মিনাল যেখান থেকে প্রক্রিয়া শুরু হয়েছিল।
- TIME :প্রক্রিয়া দ্বারা ব্যবহৃত CPU সময়ের মোট পরিমাণ।
- CMD :কমান্ড যা প্রক্রিয়া তৈরি করে
নোট করুন যে আপনি যখন কোনো বিকল্প ছাড়াই কমান্ড ব্যবহার করেন, এটি আপনাকে অনেক তথ্য দেখায় না। এটিকে আরও উপযোগী করার জন্য এখানে কয়েকটি উপায় রয়েছে৷
1. সমস্ত ব্যবহারকারীর প্রক্রিয়া তালিকাভুক্ত করুন
যখন কিছু প্রোগ্রাম ইনস্টল করা হয়, তারা কখনও কখনও প্রক্রিয়া চালানোর জন্য কিছু অতিরিক্ত ব্যবহারকারী তৈরি করে। ব্যবহারকারীদের প্রক্রিয়া তালিকাভুক্ত করতে, -e
ব্যবহার করুন বিকল্প:
ps -e
এবং এর আউটপুট:
PID TTY টাইম CMD1? 00:00:02 systemd2? 00:00:00 kthreadd3? 00:00:00 kworker/0:04 ? 00:00:00 kworker/0:0H5 ? 00:00:00 kworker/u256:06 ? 00:00:00 mm_percpu_wq
2. আরও তথ্য সহ তালিকা প্রক্রিয়া
আপনি যখন চলমান প্রক্রিয়া তালিকাভুক্ত করেন তখন আরও তথ্য থাকা সম্ভব। এটি করার জন্য, আপনি ef
ব্যবহার করতে পারেন বিকল্প।
ps -ef
এবং এর আউটপুট:
UID PID PPID C STIME TTY টাইম CMDroot 1 0 0 21:34 ? 00:00:03 /sbin/init হয়তো-ইউবিকুইটিরুট 2 0 0 21:34? 00:00:00 [kthreadd] root 3 2 0 21:34 ? 00:00:00 [kworker/0:0] root 4 2 0 21:34 ? 00:00:00 [kworker/0:0H]রুট 6 2 0 21:34? 00:00:00 [mm_percpu_wq]রুট 7 2 0 21:34? 00:00:00 [ksoftirqd/0]
3. প্রক্রিয়া আইডি দ্বারা প্রক্রিয়া ফিল্টার করুন
আপনি যে চলমান প্রক্রিয়াটি দেখাতে চান তার প্রসেস আইডি যদি আপনি জানেন, তাহলে আপনি -p
দিয়ে বিশেষভাবে ফিল্টার করতে পারেন। পতাকা এটি আর্গুমেন্ট হিসাবে একাধিক পিআইডি নিতে পারে, একটি একক কমা দ্বারা পৃথক করা হয় এবং কোনও স্থান নেই৷
ps -ef -p 1234,5678,9012
4. ব্যবহারকারীর মালিকানাধীন প্রক্রিয়াগুলি তালিকাভুক্ত করুন
এছাড়াও আপনি u
এর মাধ্যমে ব্যবহারকারীর মালিকানাধীন প্রক্রিয়াগুলি তালিকাভুক্ত করতে পারেন ব্যবহারকারীর নামের পরে বিকল্প:
ps -u ব্যবহারকারীর নাম
এবং এর আউটপুট:
PID TTY টাইম CMD2832? 00:00:00 systemd2842 ? 00:00:00 (sd-pam)3043? 00:00:00 sshd3044 pts/1 00:00:00 bash18396 pts/1 00:00:00 ps
5. সক্রিয় প্রক্রিয়াগুলি তালিকাভুক্ত করুন
ax
ব্যবহার করে সক্রিয় সমস্ত প্রক্রিয়ার তালিকা করা সম্ভব বিকল্প:
ps -ax
এবং এর আউটপুট:
পিআইডি টিটিওয়াই স্ট্যাট টাইম কমান্ড1? Ss 0:02 /sbin/init maybe-ubiquity2? S 0:00 [kthreadd]3? আমি 0:00 [kworker/0:0]4? আমি<0:00 [kworker/0:0H]6? আমি<0:00 [mm_percpu_wq]7? এস 0:00 [ksoftirqd/0]
6. ব্যবহারকারীদের সাথে সক্রিয় প্রক্রিয়াগুলি তালিকাভুক্ত করুন
আপনি যখন -aux
যোগ করেন তখন ব্যবহারকারীদের সাথে সমস্ত সক্রিয় প্রক্রিয়া তালিকাভুক্ত করা সম্ভব পতাকা:
ps -aux
এবং এর আউটপুট:
USER PID % CPU % MEM VSZ RSS TTY স্ট্যাট স্টার্ট টাইম Commandroot 1 0.0 0.2 78132 9188? Ss 21:34 0:02 /sbin/init maybe-ubiquityroot 2 0.0 0.0 0 0 ? S 21:34 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? আমি 21:34 0:00 [kworker/0:0] root 4 0.0 0.0 0 0 ? আমি<21:34 0:00 [kworker/0:0H]রুট 6 0.0 0.0 0 0 ? I<21:34 0:00 [mm_percpu_wq] root 7 0.0 0.0 0 0 ? S 21:34 0:00 [ksoftirqd/0]রুট 8 0.0 0.0 0 0? I 21:34 0:00 [rcu_sched] root 9 0.0 0.0 0 0 ? I 21:34 0:00 [rcu_bh] root 10 0.0 0.0 0 0 ? S 21:34 0:00 [মাইগ্রেশন/0]
7. একটি প্রোগ্রামের নামে প্রক্রিয়াটি ফিল্টার করুন
ps
এ একটি ফিল্টার প্রয়োগ করে চলমান একটি নির্দিষ্ট প্রোগ্রাম সম্পর্কে তথ্য পুনরুদ্ধার করা সম্ভব ফলাফল:
ps -aux | গ্রেপ ডকার
এবং এর আউটপুট:
রুট 1508 0.0 2.2 1518156 90868? Ssl 21:34 0:03 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sockuserkub+ 18429 0.0 0.0 13144 1108 pts/1 S+ 23:57 0:00 grep -- =অটো ডকার
বিকল্পভাবে, আপনি C
ও ব্যবহার করতে পারেন প্রক্রিয়াটিকে নাম দিয়ে ফিল্টার করার বিকল্প:
ps -C নাম
8. নির্দিষ্ট কলাম প্রদর্শন করুন
চারটি ডিফল্ট কলাম ছাড়াও, আপনি ps
পেতে পারেন তথ্যের একটি অতিরিক্ত কলাম প্রদর্শন করতে। যেমন:
ps -e -o pid,uname,pcpu,pmem,comm
-o
পতাকা ps
-এর জন্য নির্দিষ্ট আউটপুট প্রদর্শন বিকল্পগুলি সেট করে কমান্ডের ফলাফল। PS এর জন্য স্ট্যান্ডার্ড ডিসপ্লে বিকল্পগুলির একটি সম্পূর্ণ তালিকা দেখুন।
9. হায়ারার্কিক্যাল ট্রি স্টাইলে ফলাফল প্রদর্শন করুন
ps -e --forest
এটি প্রক্রিয়াগুলি প্রদর্শনের জন্য একটি গাছ-শৈলী কাঠামো তৈরি করতে ASCII শিল্প ব্যবহার করে। কাঁটাযুক্ত এবং শিশু প্রক্রিয়াগুলিকে উপযুক্ত অভিভাবক প্রক্রিয়ার বংশধর হিসাবে দেখায়, মেলাতে সাজানো। গাছের "শাখা" লুকানোর জন্য, -H
ব্যবহার করুন --forest
-এর জায়গায় .
10. প্রদর্শন প্রক্রিয়া থ্রেড
ps -p 4041 -L
-L
ps-এর যেকোনো কার্যকারিতার জন্য থ্রেডেড ডিসপ্লেতে পতাকা টগল করে। একটি নির্দিষ্ট প্রক্রিয়ার থ্রেডগুলি ট্র্যাক করার সময় এটি সবচেয়ে কার্যকর।
11. সমস্ত রুট প্রক্রিয়া দেখান
ps -f -U root -u root
বাস্তব এবং কার্যকর রুট সনাক্তকরণের সাথে চলমান সমস্ত প্রক্রিয়াগুলির জন্য একটি অনুসন্ধান চালান। -f
-কে ধন্যবাদ, এটি তাদের পূর্ণ-দৈর্ঘ্যের ফর্ম্যাটে দেখায় পতাকা আপনি এটিকে -o
এর সাথে একত্রিত করতে পারেন আউটপুট কাস্টমাইজ করতে পতাকা৷
একটি প্রক্রিয়া বন্ধ করতে kill কমান্ড ব্যবহার করুন
একবার আপনি অপব্যবহারের প্রক্রিয়াটি সনাক্ত করার পরে, আপনি চলমান একটি প্রক্রিয়াকে হত্যা করতে kill কমান্ড ব্যবহার করতে পারেন। কমান্ডটি একটি প্রক্রিয়াতে একটি সংকেত পাঠায় যা এটিকে শেষ করে। যখন আপনার প্রোগ্রামগুলি হিমায়িত করা হয়, বেশিরভাগ সময় আপনাকে -9
দিয়ে জোর করে হত্যা করতে হবে বিকল্প।
ps এর আউটপুট একটি তাত্ক্ষণিক দৃশ্য। htop
থেকে ভিন্ন , এটি গতিশীলভাবে নিজেকে আপডেট করে না। এর মানে কোন প্রক্রিয়াটি খারাপ আচরণ করছে তার একটি পরিষ্কার ছবি পেতে আপনাকে এটি একাধিকবার চালাতে হতে পারে। প্রক্রিয়াগুলির একটি আপ-টু-ডেট ভিউ পেতে, আপনি লিনাক্স সিস্টেমের জন্য কিছু অন্য কমান্ড চেষ্টা করতে পারেন।