প্রতিটি প্রক্রিয়া আউটপুট তালিকাভুক্ত করা হবে ps aux
; দৌড়, ঘুমানো, জম্বি বা বন্ধ হোক না কেন।
তবে আপনার ক্ষেত্রে, যেহেতু আপনি প্রক্রিয়াটি ব্যবহার করে চালিয়েছেন sh abc.sh
, sh
তা হ'ল অ্যাপ্লিকেশন (শেল) যা চলছে এবং না abc.sh
। সুতরাং, ps aux
প্রক্রিয়াটি ধারণ করবে না abc.sh
যার কারণে grep
কোনও ফলাফল পাওয়া যায়নি।
সুতরাং, আপনার সঠিকভাবে এটি ব্যবহার করা উচিত ছিল:
ps aux | grep sh
এটি আপনাকে অন্য প্রক্রিয়াও ফিরিয়ে দিতে পারে যা sh
তাদের আউটপুটটিতে যে কোনও জায়গায় স্ট্রিং নিয়ে চলছে ps aux
।
আপনার মনে রাখা উচিত যে যখন আউটপুটটি ps aux
তার STAT
মতো হয় তখন প্রক্রিয়াটি "চলমান" হবে R
। যদি এটি ব্যতীত অন্য কিছু হয় তবে চলমান প্রক্রিয়াগুলি পরীক্ষা করার জন্য আপনি কমান্ডকে বরখাস্ত করেছেন এমন পরিস্থিতিতে এটি চলমান নয়। পিএস-এর জন্য ম্যান পেজে বিভিন্ন প্রক্রিয়া অবস্থা পাওয়া যাবে:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
top
প্রক্রিয়াটি চলমান বা ঘুমন্ত এবং এটি কী পরিমাণ সিপিইউ, র্যাম ব্যবহার করছে তা পরীক্ষা করার জন্য আপনি কমান্ডটি চালাতে পারেন। (এটি আবার আপনার প্রক্রিয়া হিসাবে তালিকাবদ্ধ করবে sh
)।
তবে, আপনি যদি নিজের প্রক্রিয়াটিকে তালিকাভুক্ত করতে চান abc.sh
তবে আপনি যে স্ক্রিপ্টটি চালাচ্ছেন তার প্রথম লাইন থাকা উচিত:
#!/bin/sh
যাতে শেলটি জানতে পারে যে স্ক্রিপ্টটি চালাতে কোন অ্যাপ্লিকেশনটি ব্যবহার করতে হবে (এই ক্ষেত্রে sh, এটি #!/bin/bash
ব্যাশের জন্য পরিবর্তন করুন ) এবং তারপরে প্রক্রিয়াটির জন্য এক্সিকিউটেবল অনুমতি সরবরাহ করুন:
chmod +x /path/to/abc.sh
ফাইলের /path/to/
অবস্থানের সাথে প্রতিস্থাপন abc.sh
এবং তারপরে abc.sh
ব্যবহার করে চালানো
/path/to/abc.sh
আবার ফাইলের /path/to/
অবস্থানের পরিবর্তে abc.sh
।
S+
মানে কী