কম্পিউটার

পাইথনে সিউডো-টার্মিনাল ইউটিলিটি


ছদ্ম-টার্মিনাল ইউটিলিটি মডিউল pty-কে ছদ্ম-টার্মিনাল ধারণাগুলি পরিচালনা করার জন্য সংজ্ঞায়িত করা হয়েছে। এটি ব্যবহার করে আমরা অন্য একটি প্রক্রিয়া শুরু করতে পারি, এবং প্রোগ্রাম ব্যবহার করে কন্ট্রোলিং টার্মিনাল থেকে পড়তে বা লিখতে পারি।

এই মডিউলটি অত্যন্ত প্ল্যাটফর্ম ভিত্তিক। এই ক্রিয়াকলাপগুলি সম্পাদন করার জন্য আমাদের ইউনিক্স সিস্টেম ব্যবহার করা উচিত।

pty মডিউল ব্যবহার করার জন্য, আমাদের এটি −

ব্যবহার করে আমদানি করা উচিত
import pty

pty মডিউলের কিছু মডিউল আছে, সেগুলো হল −

পদ্ধতি pty.fork()

এই পদ্ধতিটি চাইল্ড কন্ট্রোলিং টার্মিনালকে সিউডো-টার্মিনালের সাথে সংযোগ করতে ব্যবহৃত হয়। এই পদ্ধতিটি পিড এবং এফডি ফেরত দেয়। চাইল্ড প্রক্রিয়া পিড 0 পায়, কিন্তু fd অবৈধ। পিতামাতার রিটার্ন মান হল শিশু প্রক্রিয়ার পিড এবং fd শিশু নিয়ন্ত্রণকারী টার্মিনালকে ধরে রাখে।

পদ্ধতি pty.openpty()

এই পদ্ধতিটি একটি নতুন ছদ্ম-টার্মিনাল জোড়া খুলতে ব্যবহৃত হয়। এটি মাস্টার এবং স্লেভের জন্য একটি ফাইল বর্ণনাকারী প্রদান করে।

পদ্ধতি pty.spawn(argv[, master_read[, stdin_read]])

স্পন প্রসেসটি তার কন্ট্রোলিং টার্মিনালকে বর্তমান প্রসেস স্ট্যান্ডার্ড আইওর সাথে সংযুক্ত করতে ব্যবহৃত হয়। master_read এবং stdin_read ফাইল বর্ণনাকারী থেকে পড়া হয়। ডিফল্ট আকার হল 1024 বাইট৷

উদাহরণ কোড

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()
master, slave = pty.openpty()
print('Name of the Master: ' + str(os.ttyname(master)))
print('Name of the Slave: ' + str(os.ttyname(slave)))

আউটপুট

The Process ID for the Current process is: 12508
The Process ID for the Child process is: 12509
Name of the Master: /dev/ptmx
Name of the Slave: /dev/pts/2

  1. issuperset() পাইথনে

  2. পাইথন ব্যবহার করে কিভাবে নতুন ছদ্ম-টার্মিনাল জোড়া খুলবেন?

  3. পাইথন ব্যবহার করে একটি নতুন ছদ্ম-টার্মিনাল জোড়া কিভাবে খুলবেন?

  4. পাইথন সকেট ত্রুটি 48 ঠিক করুন