"সাব্রাইপার" শব্দটি কয়েকটি উত্তরে ব্যবহৃত হয়। গুগল অনুসন্ধান করে এমন শব্দগুলি যেখানে "সবেমাত্র ব্যবহৃত" হয়েছে সেখানে প্রবেশগুলি সজ্জিত করা হয়।
আমি কীভাবে বুঝতে পারি যে একটি "সাব্রাইপার" কী?
"সাব্রাইপার" শব্দটি কয়েকটি উত্তরে ব্যবহৃত হয়। গুগল অনুসন্ধান করে এমন শব্দগুলি যেখানে "সবেমাত্র ব্যবহৃত" হয়েছে সেখানে প্রবেশগুলি সজ্জিত করা হয়।
আমি কীভাবে বুঝতে পারি যে একটি "সাব্রাইপার" কী?
উত্তর:
এটি সিস্টেম কল prctl () এর পতাকা হিসাবে লিনাক্স কার্নেল 3.4 এ প্রয়োগ করা হয়েছিল ।
prctl(2)
ম্যানপেজ থেকে :
[...] একটি সাব্রাইপার
init(1)
তার বংশধর প্রক্রিয়াগুলির ভূমিকা পূরণ করে । এতিম হওয়া প্রক্রিয়াটি সমাপ্ত হওয়ার পরে (যেমন, এর নিকটস্থ পিতামাত ইতিমধ্যে সমাপ্ত হয়ে গেছে) এবং সাব্রাইকার হিসাবে চিহ্নিত হিসাবে চিহ্নিত করা হয়েছে, নিকটস্থ এখনও জীবিত পূর্বপুরুষ সাব্রাইপার একটিSIGCHLD
সংকেত পাবেন এবংwait(2)
প্রক্রিয়াটির সমাপ্তির স্থিতি আবিষ্কার করতে সক্ষম হবেন ।
একটি প্রক্রিয়া নিজেকে সাব্রাইপার হিসাবে সংজ্ঞায়িত করতে পারে prctl(PR_SET_CHILD_SUBREAPER)
। যদি তা হয় তবে এটি init
(পিআইডি 1) নয় যা অনাথ শিশু প্রসেসের পিতামাতার হয়ে উঠবে , পরিবর্তে নিকটস্থ জীবিত পিতামহাকে যে সাব্রাইপার হিসাবে চিহ্নিত করা হবে তা নতুন পিতা বা মাতা হয়ে উঠবে। যদি কোন জীবিত দাদু নেই, init
করেন।
এই প্রক্রিয়াটি বাস্তবায়নের কারণ হ'ল ইউজারস্পেস সার্ভিস ম্যানেজার / সুপারভাইজার (যেমন upstart
, systemd
) তাদের শুরু করা পরিষেবাগুলি ট্র্যাক করতে হবে। অনেক পরিষেবা দ্বি-কাঁটাচামচ করে ডেমোনাইজ করে এবং স্পষ্টভাবে পিআইডি -তে পুনরায় প্যারেন্টেন্ট হয় The সার্ভিস ম্যানেজার আর SIGCHLD
তাদের জন্য সিগন্যালগুলি গ্রহণ করতে সক্ষম হবেনা এবং বাচ্চাদের কাটা কাটা দায়িত্বে আর থাকবেন না wait()
। পিআইডি 1 পুনরায় প্যারেন্টেন্ট প্রক্রিয়াগুলি পরিষ্কার করার মুহুর্তে শিশুদের সম্পর্কে সমস্ত তথ্য হারিয়ে যায়। এখন, কোনও পরিষেবা পরিচালকের প্রক্রিয়া নিজেকে "সাব-থাই" এর ধরণের হিসাবে চিহ্নিত করতে পারে এবং শুরু করা পরিষেবাদি দ্বারা নির্মিত সমস্ত অনাথ প্রক্রিয়াগুলির জন্য পিতামাতারূপে থাকতে সক্ষম। সমস্ত SIGCHLD
সংকেত পরিষেবা পরিচালকের কাছে সরবরাহ করা হবে।
লিনাক্সে, নাতি-নাতনীকে কাঁটা দেওয়ার পরে মধ্যবর্তী প্রক্রিয়াটি দু'বার কাঁটাচামচ করে সাধারণত একটি ডেমন তৈরি করা হয় । এটি জম্বি প্রক্রিয়াগুলি এড়ানোর জন্য একটি সাধারণ কৌশল । Init স্ক্রিপ্টটি একটি শিশুকে কল করে। সেই শিশুটি আবার কাঁটাচামচ করে এবং ততক্ষণে বাইরে চলে যায়। নাতনি দ্বারা গৃহীত হবে init
, যা নিয়মিত wait()
জম্বি এড়ানোর জন্য তার বাচ্চাদের প্রস্থান স্থিতি সংগ্রহ করার আহ্বান জানায় । সাব্রাইপার্সের ধারণার সাথে সাথে, ইউজারস্পেস সার্ভিস ম্যানেজার এখন পরিবর্তে নতুন অভিভাবক হয়ে উঠবে init
।