প্রদত্ত টাস্ক হল সর্বাধিক সংখ্যক Zombie প্রসেসগুলি খুঁজে বের করা যা একটি সিস্টেম পরিচালনা করতে পারে বা অন্য কথায়, প্রোগ্রামটি তার কার্যকর করা বন্ধ করে না৷
একটি Zombie প্রক্রিয়া (এছাড়াও নিষ্ক্রিয় প্রক্রিয়া হিসাবে পরিচিত) হল একটি প্রক্রিয়া যা exit() (সিস্টেম কল) এর মাধ্যমে তার প্রক্রিয়াটি সম্পন্ন করেছে কিন্তু এখনও প্রক্রিয়া টেবিলে একটি এন্ট্রি রয়েছে।
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
মনে রাখবেন যে প্রোগ্রাম চালানোর জন্য
যোগ করা উচিত। -
main() ফাংশনে ইনিশিয়ালাইজ num =0 টাইপের int যা আমরা পুনরাবৃত্তি করব যতক্ষণ না প্রোগ্রামটি এক্সিকিউট করা বন্ধ হয়।
-
একটি জম্বি প্রক্রিয়া শুরু করতে কন্ডিশন সহ একটি while স্টেটমেন্ট তৈরি করুন − while( fork()> 0 )
ফর্ক() সিস্টেম কল একটি নতুন প্রক্রিয়া শুরু করার জন্য ব্যবহার করা হয় যা চাইল্ড প্রসেস নামে পরিচিত যা একই সাথে চলে এবং ফর্ক() কল করে (যা মূল প্রক্রিয়া)।
-
যখন লুপ ইনক্রিমেন্ট সংখ্যার ভিতরে এটি প্রিন্ট করুন।
উদাহরণ
#include<iostream> #include<unistd.h> using namespace std; int main(){ int num = 0; while (fork() > 0){ num++; cout<<num<<" "; } }
আউটপুট
আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব -
উপরের আউটপুট সংখ্যাটি 93 এ বৃদ্ধি হওয়া বন্ধ করে। তবে এই সংখ্যাটি স্থির নয় এবং সিস্টেম কনফিগারেশনের উপর নির্ভর করে পরিবর্তিত হতে পারে।