सूडो-टर्मिनल यूटिलिटी मॉड्यूल pty को सूडो-टर्मिनल अवधारणाओं को संभालने के लिए परिभाषित किया गया है। इसका उपयोग करके हम एक और प्रोसेस शुरू कर सकते हैं, और प्रोग्राम्स का उपयोग करके कंट्रोलिंग टर्मिनल से पढ़ या लिख भी सकते हैं।
यह मॉड्यूल अत्यधिक प्लेटफॉर्म-ओरिएंटेड है। हमें इन ऑपरेशन्स को करने के लिए यूनिक्स सिस्टम्स का उपयोग करना चाहिए।
pty मॉड्यूल का उपयोग करने के लिए, हमें इसे आयात करना चाहिए:
import pty
pty मॉड्यूल के कुछ मॉड्यूल्स हैं, ये हैं:
मेथड pty.fork()
यह मेथड चाइल्ड कंट्रोलिंग टर्मिनल को सूडो-टर्मिनल से जोड़ने के लिए उपयोग किया जाता है। यह मेथड pid और fd लौटाता है। चाइल्ड प्रोसेस को pid 0 मिलता है, लेकिन fd अमान्य होता है। पैरेंट का रिटर्न वैल्यू चाइल्ड प्रोसेस का pid होता है और fd चाइल्ड कंट्रोलिंग टर्मिनल रखता है।
मेथड pty.openpty()
यह मेथड एक नई सूडो-टर्मिनल जोड़ी खोलने के लिए उपयोग किया जाता है। यह मास्टर और स्लेव के लिए एक फाइल डिस्क्रिप्टर लौटाता है।
मेथड pty.spawn(argv[, master_read[, stdin_read]])
स्पॉन प्रोसेस का उपयोग अपने कंट्रोलिंग टर्मिनल को वर्तमान प्रोसेस के स्टैंडर्ड I/O से जोड़ने के लिए किया जाता है। 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