কম্পিউটার টিউটোরিয়াল

পাইথনে পাইপ ব্যবহার করে পেরেন্ট ও চাইল্ড প্রসেসের মধ্যে যোগাযোগের প্রোগ্রাম

fork ব্যবহার করা চাইল্ড প্রসেস তৈরির সবচেয়ে সহজ পথ। fork() পাইথনের os স্ট্যান্ডার্ড লাইব্রেরির অংশ।

এখানে pipe() ব্যবহার করে এই টাস্ক সমাধান করা হয়েছে। একটি প্রসেস থেকে অন্য প্রসেসে তথ্য পাস করার জন্য pipe() ব্যবহার করা হয়। টু-ওয়ে কমিউনিকেশনের জন্য দুটি পাইপ ব্যবহার করা হয়, একট لكل দিকের জন্য কারণ pipe() ইউনিডাইরেকশনাল।

অ্যালগরিদম

ধাপ ১: রিডিং ও রাইটিং-এর জন্য ফাইল ডেসক্রিপ্টর r, w।
ধাপ ২: fork ব্যবহার করে প্রসেস তৈরি করুন।
ধাপ ৩: যদি প্রসেস আইডি ০ হয় তবে চাইল্ড প্রসেস তৈরি করুন।
ধাপ ৪: অন্যথায় পেরেন্ট প্রসেস তৈরি করুন।

উদাহরণ কোড

import os

def parentchild(cwrites):
    r, w = os.pipe()
    pid = os.fork()
    if pid:
        os.close(w)
        r = os.fdopen(r)
        print("পেরেন্ট পড়ছে")
        str = r.read()
        print("পেরেন্ট পড়েছে =", str)
    else:
        os.close(r)
        w = os.fdopen(w, 'w')
        print("চাইল্ড লিখছে")
        w.write(cwrites)
        print("চাইল্ড লিখেছে = ", cwrites)
        w.close()

# ড্রাইভার কোড
cwrites = "Python Program"
parentchild(cwrites)

আউটপুট

চাইল্ড লিখছে
চাইল্ড লিখেছে = Python Program
পেরেন্ট পড়ছে
পেরেন্ট পড়েছে = Python Program
  1. পাইথনে বাল্টিতে বল রেখে ন্যূনতম ফোর্স সর্বোচ্চ করার প্রোগ্রাম

  2. Python দিয়ে বাইনারি ট্রির রুট পরিবর্তন করার প্রোগ্রাম

  3. Python দিয়ে পেরেন্ট পয়েন্টার ব্যবহার করে বাইনারি ট্রির লোয়েস্ট কমন অ্যান্সেস্টর বের করার প্রোগ্রাম

  4. Python দিয়ে এক্সপ্রেশন ট্রি বানানো এবং ইভ্যালুয়েট করার প্রোগ্রাম