আমাদের কাজ হল পাইথনে ফর্ক() ফাংশন ব্যবহার করে একটি চাইল্ড প্রসেস তৈরি করা এবং প্যারেন্ট এবং চাইল্ড প্রসেস উভয়ের প্রসেস আইডি প্রদর্শন করা।
আমরা যখন ফর্ক() ব্যবহার করি, এটি নিজের একটি অনুলিপি তৈরি করে, এটি LINUX, UNIX-এর একটি অত্যন্ত গুরুত্বপূর্ণ দিক। fork() মূলত মাল্টিথ্রেডিং এনভায়রনমেন্টের জন্য প্রযোজ্য যার মানে থ্রেডের এক্সিকিউশন ডুপ্লিকেট করা হয়েছে একটি প্যারেন্ট থ্রেড থেকে একটি চাইল্ড থ্রেড তৈরি করা হয়েছে। যখন একটি ত্রুটি থাকে, পদ্ধতিটি একটি নেতিবাচক মান প্রদান করবে এবং চাইল্ড প্রক্রিয়ার জন্য, এটি 0 প্রদান করবে, অন্যথায়, এটি ধনাত্মক মান প্রদান করবে যার অর্থ আমরা অভিভাবক প্রক্রিয়ায় আছি৷
ফর্ক() মডিউলটি os মডিউল বা pty নামক সিউডো টার্মিনাল মডিউল থেকে ব্যবহার করা যেতে পারে। তাই এর জন্য আমাদের OS বা pty আমদানি করা উচিত।
ফর্ক() একটি প্রক্রিয়া তৈরি করতে ব্যবহৃত হয়, এতে কোনো যুক্তি নেই এবং এটি প্রক্রিয়া আইডি ফেরত দেয়। একটি নতুন প্রক্রিয়া তৈরি করতে fork() ব্যবহার করার প্রধান কারণ যা কলারের চাইল্ড প্রক্রিয়া হয়ে ওঠে। যখন একটি নতুন শিশু প্রক্রিয়া তৈরি করা হয়, উভয় প্রক্রিয়াই পরবর্তী নির্দেশ কার্যকর করবে।
ফর্ক() এর রিটার্ন ভ্যালু আমরা বুঝতে পারি যে আমরা কোন প্রক্রিয়ায় আছি যখন 0 রিটার্ন করি যার মানে আমরা চাইল্ড প্রসেসে আছি এবং যদি পজিটিভ ভ্যালু রিটার্ন করি তার মানে আমরা প্যারেন্ট প্রসেসে আছি এবং রিটার্ন নেগেটিভ ভ্যালু মানে কিছু ত্রুটি ঘটেছে। পি>
উদাহরণ কোড
import os def parentchild(): n = os.fork() if n > 0: print("Parent process : ", os.getpid()) else: print("Child proces : ", os.getpid()) # Driver code parentchild()
আউটপুট
Parent process : 8023 Child process : 8024 $
ছদ্ম-টার্মিনাল ইউটিলিটি মডিউল pty-কে ছদ্ম-টার্মিনাল ধারণাগুলি পরিচালনা করার জন্য সংজ্ঞায়িত করা হয়েছে। এটি ব্যবহার করে আমরা অন্য একটি প্রক্রিয়া শুরু করতে পারি, এবং প্রোগ্রাম ব্যবহার করে কন্ট্রোলিং টার্মিনাল থেকে পড়তে বা লিখতে পারি।
এই মডিউলটি অত্যন্ত প্ল্যাটফর্ম ভিত্তিক। এই ক্রিয়াকলাপগুলি সম্পাদন করার জন্য আমাদের ইউনিক্স সিস্টেম ব্যবহার করা উচিত।
উদাহরণ কোড
import pty, os def process_parent_child(): (process_id, fd) = pty.fork() print("The Process ID for the Current process is: " + str(os.getpid())) print("The Process ID for the Child process is: " + str(process_id)) process_parent_child()
আউটপুট
The Process ID for the Current process is: 12508 The Process ID for the Child process is: 12509