কোন উপায় আছে কি, নির্দিষ্ট প্রক্রিয়া শিশু যারা? উদাহরণস্বরূপ যে শিশুদের তাদের পিতামাতাদের আইডি ফু আছে?
কোন উপায় আছে কি, নির্দিষ্ট প্রক্রিয়া শিশু যারা? উদাহরণস্বরূপ যে শিশুদের তাদের পিতামাতাদের আইডি ফু আছে?
উত্তর:
আপনি pstree
আদেশ সন্ধান করছেন।
pstree
নিজেই সমস্ত প্রক্রিয়া একটি বৃক্ষ আকারে (যেমন lsblk
করে) তালিকাভুক্ত করবে । আপনি -p
পিআইডিগুলি তালিকাভুক্ত করার -s
জন্য , এবং পাশাপাশি পিতামাতার প্রক্রিয়াটি প্রদর্শন করতে পতাকাটি ব্যবহার করতে পারেন :
$ pstree -p 602
udisksd(602)-+-{cleanup}(607)
|-{gdbus}(605)
|-{gmain}(603)
`-{probing-thread}(606)
একটি (সম্ভবত) পিসিক্স-আনুগত্যের উপায় শিশু পিআইডি পাওয়ার (যা আমি অন্যত্র মন্তব্যে উল্লেখ করেছি):
ps -o ppid= -o pid= -A | awk '$1 == <some pid>{print $2}'
এটি ps
সমস্ত প্রসেসের প্যারেন্ট পিআইডি এবং পিআইডি লিখতে বলে (শিরোনাম ছাড়াই) এবং তারপরে awk
প্রথম ক্ষেত্রটিতে প্রদত্ত পিআইডি (প্যারেন্ট পিআইডি) কোন লাইন রয়েছে তা দেখতে এবং সংশ্লিষ্ট দ্বিতীয় ক্ষেত্রটি (শিশু পিআইডি) মুদ্রণ করে তা ব্যবহার করে।
আপনি যদি কেবল এমন একটি প্রক্রিয়াটির তাত্ক্ষণিক শিশু দেখতে চান যার পিআইডি 123
আপনি ps
কমান্ডের --ppid
বিকল্পটি ব্যবহার করতে পারেন :
ps --ppid 123
pidof
কমান্ডের সাথে আপনি এটি একত্রিত করতে পারেন নাম অনুসারে একটি প্রক্রিয়া বাচ্চাদের নামকরণ করার জন্য একটি প্রক্রিয়া প্রদত্তfoo
ps --ppid $(pidof foo)
আরেকটি বিকল্প হ'ল, সিস্টেম মনিটর ব্যবহার করা (প্রাক ইনস্টলড আসে)। এসএম মেনুবার "ডিপেন্ডেন্সিগুলি" বিকল্পে, "দেখুন" এর অধীনে, ভিজ্যুয়াল ফিডব্যাক পেতে নীচে স্ক্রিনশটটিতে পিতামাতার এবং শিশুদের প্রক্রিয়া (এস) এর মতো দেখায়।
আমি নিজে সিএল (কমান্ড লাইন) পছন্দ করি এবং পরামর্শ দিই, যারা লিনাক্স ব্যবহার করেন তারা এই ক্ষেত্রে প্রতিদিন উবুন্টু বুদ্ধিমানের সাথে জিইউআই অ্যাপ্লিকেশনগুলির উপর ভিত্তি করে বেসিক কমান্ডগুলি শিখতে তাদের সময় ব্যয় করেন বা কমপক্ষে একটিতে উভয়কে দক্ষ করতে সক্ষম হন নির্দিষ্ট ডিগ্রী!
আমি কোনও বিশেষজ্ঞ নই, তবে উপরের উত্তরগুলি পড়লে আমার কাছে মনে হয়েছিল প্রোক ফাইল সিস্টেমের মাধ্যমে এটি করার সম্ভবত আরও একটি সরাসরি উপায় আছে, যেমন মানব-পঠনযোগ্য প্রদর্শনের পরিবর্তে কোনও স্ক্রিপ্টে প্রোগ্রাম্যাটিক ব্যবহারের জন্য। এবং প্রকৃতপক্ষে রয়েছে: আইডি কোড-মাইপিড সহ একটি প্রক্রিয়াটির জন্য, তার শিশু প্রক্রিয়াগুলি তালিকাভুক্ত
/proc/$mypid/task/$mypid/children
যেমন
$ cat /proc/3123/task/3123/children
3131 3133
একইভাবে, আপনি ফাইলে "পিপিড" এন্ট্রির মাধ্যমে প্যারেন্ট প্রসেস আইডি পেতে পারেন
/proc/$mypid/task/$mypid/status
যেমন
$ grep PPid /proc/3131/task/3131/status
PPid: 3123
$ grep PPid /proc/3131/task/3131/status | cut -f2
3123
যদিও লিনাক্স সিস্টেমের বাইরে এটি বহনযোগ্য তা আমি নিশ্চিত নই।
ps -o ppid= -o pid= -A | awk '$1 == <some pid>' | cut -f2
পসিক্স-সম্মতিযুক্ত হওয়া উচিত।