टूलसेट का इतिहास
आप ऐसे उपकरण को चाहने वाले पहले व्यक्ति नहीं हैं। लोग 30 साल से ऐसे उपकरण चाहते हैं। और वे लगभग लंबे समय से अस्तित्व में हैं।
इस तरह की चीज़ के लिए सबसे पहला उपकरण डैनियल जे। बर्नस्टीन का "पीटीआई" पैकेज था, जिसे रिच साल्ज़ ने "जिनसु चाकू" के रूप में वर्णित किया था, जिसे बर्नस्टीन ने 1990 के दशक में नेटहॉक (सिक!) को धोखा देने के लिए वापस लिखा था। "Pty" पैकेज का संस्करण 4 1992 में प्रकाशित किया गया था comp.sources.unix
(वॉल्यूम 25 अंक 127 से 135 तक)। यह अभी भी वर्ल्ड वाइड वेब पर लोकल है। पॉल विक्सी ने उस समय इसका वर्णन किया:
मैं क्या कह सकता हूँ? यह स्लाइस, यह डाइस करता है, यह बर्तन धोता है, यह कुत्ते को चलता है। यह "बस काम करता है", जिसका अर्थ है कि यदि आप निर्देशों का पालन करते हैं तो आपको बिना बालों के खींचने या दांतों या अन्य मानक पोर्टिंग गतिविधियों के बिना एक कामकाजी पैकेज मिलेगा।
बर्नस्टीन ने बाद में इसे अपडेट किया, मथेन ने 1999-04-07 के पहले या बाद में, "ptyget" पैकेज के साथ, जिसकी उन्होंने घोषणा की:
मैंने एक नया छद्म ट्टी एलोकेटर, पेंटीगेट एक साथ रखा है। एक अल्फा संस्करण है ftp://koobera.math.uic.edu/pub/software/ptyget-0.50.tar.gz
। एक ptyget मेलिंग सूची है; शामिल होने के लिए, एक खाली संदेश भेजें
djb-ptyget-requ...@koobera.math.uic.edu
। मैंने स्क्रैच से पेंटीज के इंटरफ़ेस को डिज़ाइन किया है। यह मटर की तुलना में बहुत अधिक मॉड्यूलर है; मूल पेंटी इंटरफ़ेस को अब तीन टुकड़ों में विभाजित किया गया है:
ptyget
: एक छोटा, निम्न-स्तरीय कार्यक्रम - पैकेज में एकमात्र सेट्यूइड प्रोग्राम - जो एक नया छद्म-ट्टी आवंटित करता है और इसे आपकी पसंद के कार्यक्रम में भेजता है।
ptyspawn
: एक और छोटा कार्यक्रम जो छद्म ट्टी के तहत एक बच्चे की प्रक्रिया को चलाता है, इसके बाहर निकलने और स्टॉप के लिए देखने के लिए इंतजार कर रहा है
ptyio
: एक और, केवल थोड़ा बड़ा, प्रोग्राम जो डेटा को आगे और पीछे ले जाता है
पुराने गिंसू चाकू pty
को अब वर्तनी दिया गया है ptybandage
, जो इसका पर्याय है ptyget ptyio -t ptyspawn
; pty -d
, छद्म ttys के लिए नेटवर्क कार्यक्रमों को संलग्न करने के लिए, अब वर्तनी है ptyrun
, जो के लिए एक पर्याय है ptyget ptyio ptyspawn
; और के nobuf
लिए एक पर्याय है
ptyget ptyio -r ptyspawn -23x
। मैंने सत्र प्रबंधन सुविधाओं को अलग पैकेज में विभाजित किया है।
वह अलग पैकेज "सेस" पैकेज था।
"पीटगेट", संयोगवश, बहुत प्रारंभिक संस्करण के उदाहरण के लिए उल्लेखनीय है, और कुछ प्रकाशित उदाहरणों में से एक है, बर्नस्टीन का कभी प्रकाशित "रीडो" बिल्ड सिस्टम नहीं है। dependon
के लिए एक स्पष्ट अग्रदूत है redo-ifchange
।
प्रयोग
ptybandage
ptybandage
वह है जो लोग आमतौर पर लॉगिन सत्र में चाहते हैं। इसका प्राथमिक उपयोग मामला ऐसे कार्यक्रम बना रहा है जो संवेदनशील हैं कि क्या उनके मानक इनपुट, आउटपुट, या त्रुटियां टर्मिनलों से जुड़े हैं, इस तरह से संचालित होते हैं, भले ही वे वास्तव में शेल पाइपलाइनों में हों, या उनके मानक फ़ाइल विवरणकर्ता फ़ाइल में पुनर्निर्देशित हों।
इसे चलाने के लिए एक कमांड लेता है (जिसे एक उचित बाहरी कमांड होना चाहिए, निश्चित रूप से) और इसे इस तरह से चलाता है कि यह सोचता है कि इसका मानक इनपुट, आउटपुट और त्रुटि टर्मिनल से जुड़ी हुई है, जो उन लोगों से जुड़ रहा है ptybandage
। मूल मानक इनपुट, आउटपुट और त्रुटि।
यह नौकरी नियंत्रण के गोले के तहत चलने की बारीकियों से संबंधित है, यह सुनिश्चित करता है कि एक टर्मिनल STOP चरित्र न केवल बंद हो जाता है, ptybandage
बल्कि आंतरिक टर्मिनल से जुड़े कार्यक्रम को भी बंद कर देता है।
ptyrun
ptyrun
आमतौर पर लोग टीसीपी नेटवर्क सर्वर में क्या चाहते हैं। इसका प्राथमिक उपयोग मामला दूरस्थ निष्पादन वातावरण है जो स्वयं टर्मिनल सेट नहीं करता है, ऐसे प्रोग्राम चला रहा है जो टर्मिनल नहीं होने पर वांछित रूप से संचालित होते हैं।
यह जॉब कंट्रोल शेल के तहत चलने की उम्मीद नहीं करता है, और यदि कमांड चलाया जा रहा है तो स्टॉप सिग्नल प्राप्त होता है, इसे बस पुनरारंभ किया जाता है।
उपलब्ध टूलसेट
ड्रू नेल्सन दोनों "pty" संस्करण 4 और "ptyget" प्रकाशित करता है।
पॉल जार्क पाइगेट का एक निश्चित संस्करण प्रकाशित करता है, जो मूल में ऑपरेटिंग-सिस्टम-विशिष्ट छद्म-टर्मिनल डिवाइस ioctls से निपटने का प्रयास करता है जो कि ऑपरेटिंग सिस्टम वास्तव में अब प्रदान नहीं करते हैं।
नोश स्रोत पैकेज वर्कआलाइक ptybandange
और ptyrun
स्क्रिप्ट के साथ आता है , जो लॉरेंट बरकोट के execline
टूल और नॉश पैकेज के स्वयं के छद्म टर्मिनल प्रबंधन कमांड का उपयोग करता है। Nosh संस्करण 1.23 के अनुसार ये nosh- टर्मिनल-एक्स्ट्रा पैकेज में पहले से उपलब्ध हैं। (पहले के संस्करणों ने केवल उन्हें स्रोत से निर्मित लोगों को आपूर्ति की थी।)
कुछ उदाहरण का उपयोग करता है
Jurjgen Oskam ptybandage
ने AIX पर इनपुट का उपयोग करके एक प्रोग्राम के लिए एक प्रोग्राम से इनपुट फीड किया है, जो एक पासवर्ड प्रॉम्प्ट के लिए अपने कंट्रोलिंग टर्मिनल को खोलता है और पढ़ता है:
$ ptybandage dsmadmc << EOF> uit.txt
joskam
पारण शब्द
क्वेरी सत्र
क्वेरी प्रक्रिया
छोड़ना
EOF
एंडी ब्रैडफ़ोर्डptyrun
bgplgsh
ने नेटवर्क के माध्यम से इंटरएक्टिव राउटर कंट्रोल प्रोग्राम को सुलभ बनाने के लिए डेमोंटोल्स और ucspi-tcp के तहत OpenBSD पर उपयोग करते हुए यह सोचा कि यह एक टर्मिनल से बात कर रहा है:
#! / Bin / श
2> और 1 निष्पादित करें
निष्पादित एन्विडगिड साक्षात्कार tcpserver -vDRHl0 0 23 ptyrun / usr / bin / bgplgsh
आगे की पढाई