"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पायथन में एसिंक्रोनस शेल कमांड निष्पादन कैसे प्राप्त करें: सर्वोत्तम प्रथाओं की खोज

पायथन में एसिंक्रोनस शेल कमांड निष्पादन कैसे प्राप्त करें: सर्वोत्तम प्रथाओं की खोज

2024-11-09 को प्रकाशित
ब्राउज़ करें:867

How to Achieve Asynchronous Shell Command Execution in Python: Exploring Best Practices

पायथन में अतुल्यकालिक शैल कमांड निष्पादन: वैकल्पिक दृष्टिकोण की खोज

पायथन स्क्रिप्ट से बाहरी कमांड को अतुल्यकालिक रूप से चलाना एक मूल्यवान तकनीक है जो चल रहे स्क्रिप्ट निष्पादन की अनुमति देती है जबकि बाहरी कमांड अपना कार्य करते हैं। यह आलेख इस अतुल्यकालिक व्यवहार को प्राप्त करने के लिए उपयुक्त तरीकों की खोज करता है, जो os.system() और सबप्रोसेस.पोपेन के उपयोग पर ध्यान केंद्रित करता है।

os.system() और Ampersand Symbol

किसी कमांड के अंत में एम्परसेंड (&) के साथ os.system() का उपयोग करना वास्तव में एक अलग प्रक्रिया बना सकता है जो अतुल्यकालिक रूप से चलती है। हालाँकि, इस पद्धति की सीमाएँ हैं और इसे अतुल्यकालिक निष्पादन के लिए अनुशंसित दृष्टिकोण नहीं माना जाता है। पोपेन पसंदीदा विकल्प है. यह चाइल्ड प्रक्रिया पर व्यापक नियंत्रण प्रदान करता है, जिससे आप:

• पोपन() के साथ अतुल्यकालिक प्रक्रियाएं बना सकते हैं। • चाइल्ड प्रक्रिया सक्रिय होने पर कार्य समवर्ती रूप से निष्पादित करें • प्रक्रिया को समाप्त करें() के साथ समाप्त करें • पोल() के साथ इसकी चालू स्थिति के बारे में पूछें • stdin और stdout का उपयोग करके इसके साथ संचार करें

उपप्रक्रिया का उदाहरण उपयोग।Popen

• Create asynchronous processes with Popen()
• Perform tasks concurrently while the child process is active
• Terminate the process with terminate()
• Query its running status with poll()
• Communicate with it using stdin and stdout

निष्कर्ष

from subprocess import Popen
p = Popen(['watch', 'ls'])  # Replace with your command
# Other code can run here while the command is executing
p.terminate()  # Stop the process when necessary
विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729582275 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3