मैं एक शेल स्क्रिप्ट को बहुत अधिक पठनीय अजगर संस्करण में पोर्ट करने की कोशिश कर रहा हूं। मूल शेल स्क्रिप्ट पृष्ठभूमि में "और" के साथ कई प्रक्रियाएं (उपयोगिताओं, मॉनिटर आदि) शुरू करती हैं। मैं अजगर में समान प्रभाव कैसे प्राप्त कर सकता हूं? मैं चाहता हूं कि जब अजगर स्क्रिप्ट पूरी हो जाएं तो मैं इन प्रक्रियाओं को नहीं मरूंगा। मुझे यकीन है कि यह किसी तरह एक डेमन की अवधारणा से संबंधित है, लेकिन मुझे यह आसानी से नहीं मिल रहा है।
subprocess.Popen()
2010 के बाद से नया अनुशंसित तरीका है (हम अब 2015 में हैं) और (3) यहां दोहराए गए प्रश्न को पुनर्निर्देशित करने के बारे में भी एक स्वीकृत उत्तर है subprocess.Popen()
। चियर्स :-)
subprocess.Popen("<command>")
उपयुक्त कमांड के नेतृत्व में <कमांड> फ़ाइल के साथ होना चाहिए । बैश और पाइथन लिपियों के साथ मेरे (डेबियन) के लिए एकदम सही काम करता है, जो shell
मूल रूप से अपनी मूल प्रक्रिया को पूरा करता है और जीवित रहता है। stdout
माता-पिता की तुलना में एक ही टर्मिनल पर जाता है। इसलिए यह &
एक शेल में बहुत काम करता है जो ओपी का अनुरोध था। लेकिन नरक, सभी प्रश्न बहुत जटिल होते हैं, जबकि थोड़ी सी परीक्षा ने इसे कुछ ही समय में दिखाया;)