কিভাবে লিনাক্স জম্বি প্রক্রিয়া পরিচালনা করে


12

ইউমিক্স / লিনাক্স সিস্টেমে জম্বি প্রক্রিয়া তৈরি করা হয়। killকমান্ডের মাধ্যমে আমরা সেগুলি সরাতে পারি ।

তবে লিনাক্সে জম্বি প্রক্রিয়াগুলি পরিচালনা করার জন্য কি কোনও অন্তর্নির্মিত পরিষ্কার-পরিচ্ছন্নতা আছে?

উত্তর:


18

বোকচন্দর প্রক্রিয়া ইতিমধ্যে মারা গেছে। আপনি তাদের হত্যা করতে পারবেন না। killআদেশ বা সিস্টেম কল একটি বোকচন্দর প্রক্রিয়া কোনো প্রভাব নেই। (আপনি একটি জম্বিটিকে দূরে সরিয়ে নিতে killপারেন তবে জম্বি নয়, আপনাকে পিতামাতাকে গুলি করতে হবে, যেমনটি আমরা এক মিনিটে দেখব))

একটি জম্বি প্রক্রিয়াটি আসলে কোনও প্রক্রিয়া নয়, এটি প্রক্রিয়া সারণিতে কেবল একটি প্রবেশিকা। জম্বি প্রক্রিয়াটির সাথে সম্পর্কিত অন্য কোনও সংস্থান নেই: এর কোনও মেমরি বা কোনও চলমান কোড নেই, এতে কোনও ফাইল খোলা থাকে না ইত্যাদি etc.

যখন কোনও প্রক্রিয়া মারা যায়, অন্য সমস্ত উত্সগুলি পরিষ্কার করার পরে শেষ জিনিসটি প্রক্রিয়া সারণিতে প্রবেশ করা is পিতামাতার প্রক্রিয়াটিকে সন্তানের প্রস্থান স্থিতি ট্র্যাক করার অনুমতি দেওয়ার জন্য একটি জম্বি গঠন করে এই প্রবেশদ্বারটি প্রায় রাখা হয়। waitঅভিভাবকরা সাইকেলের পরিবারের একজনকে কল করে প্রস্থান স্থিতি পড়েন ; এই মুহুর্তে, জম্বি অদৃশ্য হয়ে যায়। কলিংটি শিশুটিকে ফসল কাটাতেwait বলা হয় , একটি জম্বি মারা যাওয়ার রূপকটি বাড়িয়ে দেয় তবে কোনওভাবে এখনও পরবর্তীকালে পুরোপুরি প্রক্রিয়া করা যায় না। পিতামাতারা এটিও বোঝাতে পারেন যে এটি বিবেচনা করে না (SIGCHLD সিগন্যাল উপেক্ষা করে, বা পতাকাটির সাথে কল করে ), এক্ষেত্রে সন্তানের মারা যাওয়ার পরে প্রক্রিয়া টেবিলের প্রবেশটি তত্ক্ষণাত মোছা হয়।sigactionSA_NOCLDWAIT

সুতরাং একটি জম্বি কেবল তখনই উপস্থিত থাকে যখন কোনও প্রক্রিয়া মারা যায় এবং এর পিতামাতারা waitএখনও কল করেনি। এই রাজ্যটি কেবলমাত্র ততদিন স্থায়ী হতে পারে যতক্ষণ পিতামাতার এখনও চলছে। যদি পিতা-মাতা সন্তানের আগে মারা যায় বা সন্তানের স্ট্যাটাস না পড়ে মারা যায় তবে জম্বিটির পিতামাতার প্রক্রিয়াটি পিআইডি 1 সহ প্রক্রিয়াতে সেট করা হয়, এটি init। এর অন্যতম কাজ initহ'ল waitলুপে কল করা এবং এভাবে তার পিতামাতার পিছনে ফেলে রাখা কোনও জম্বি প্রক্রিয়া কাটানো।


6

আপনি killএকটি জম্বি প্রক্রিয়া করেন না, কারণ এটি ইতিমধ্যে মারা গেছে।

জ্যাম্বি প্রক্রিয়াগুলি waitতাদের পিতামাতার দ্বারা সম্পাদিত হতে হবে , যাতে তাদের প্রস্থান স্থিতি সংগ্রহ করা যায়।

লিনাক্সে কেবলমাত্র "বিল্ট-ইন ক্লিন-আপ মেকানিজম" রয়েছে, সেই ক্ষেত্রে কাজ করে যে কোনও পিতামাতা-প্রক্রিয়া তার বাচ্চাদের প্রস্থান স্থিতি সংগ্রহের আগেই মারা যায়। এই ক্ষেত্রে, প্রতিটি শিশু initপ্রক্রিয়া দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হয় , যা waitসন্তানের উপর থেকে তার প্রস্থান স্থিতি সংগ্রহ করে প্রক্রিয়া সারণিতে এর প্রবেশিকা অপসারণ করে।


3

কোনও প্রক্রিয়ার পিতামাতার মৃত্যুর সাথে সাথে প্রক্রিয়াটি অনাথ হয়ে যায় - এটি জম্বি না হয় তবে তা উপেক্ষা করে। এতিমদের কী হয়? তারা একটি নতুন পিতামাতাকে ডেকে আনে initinitহবে waitপ্রতিটি অনাথ এটি সংগৃহীত, এইভাবে অনাথ শস্যচ্ছেদন উপর (যে এছাড়াও পাশাপাশি একটি বোকচন্দর হয়েছে পারে)।


1
না। সুনির্দিষ্ট হওয়া, কোনও প্রক্রিয়া initহত্যা করে না । এটি কেবল তার বাচ্চাদের তাদের স্ট্যাটাস সংগ্রহ করার উপর নির্ভর করে। wait
chrk

1
@ সিআরকে, ফিলিপ: সাধারণ শব্দটি কাটা হয়
গিলস 'অশুভ হওয়া বন্ধ করুন'

1

না, জম্বিগুলির জন্য কোনও অন্তর্নির্মিত পরিষ্কারের ব্যবস্থা নেই। দম্পতিরা তাদের পিতামাতাকে হত্যা করার পরে জম্বি স্বর্গে যায়। ততক্ষণে ওএস তাদের প্রস্থানের স্থিতি পিতামাতার কাছে ফেরত রাখতে দেয়।


সুতরাং .. এটি কি স্মৃতি ইত্যাদি নেতিবাচক প্রভাব আছে?

1
আসলে, যখন initwait

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