दिलचस्प पोस्ट
PHP स्ट्रिंग से विशेष वर्ण निकालें लार्जर जीमेल काम नहीं कर रहा है, "उपयोगकर्ता नाम और पासवर्ड स्वीकृत नहीं है और अधिक जानें…" Generic.xaml के बारे में इतना खास क्या है? मैं OOVER_QUERY_LIMIT प्रतिक्रिया प्राप्त किए बिना कैसे जीओकोड 20 पतों को प्राप्त कर सकता हूं? कैसे matplotlib में एक नया colormap के रूप में एक colormap के एक सबसेट निकालने के लिए? संपत्ति-प्लेसहोल्डर द्वारा बनाई गई संपत्तियों के लिए प्रोग्राममैटिक एक्सेस कैसे 5 साल की उम्र के लिए निर्भरता इंजेक्शन की व्याख्या करने के लिए? S_ISREG () और S_ISDIR () POSIX मैक्रोज़ का उपयोग कैसे करें? जीआईटी में एक ही शाखा को क्लोन कैसे करें? Jquery का उपयोग कर div सामग्री का मूल्य प्राप्त करें वस्तुओं की एक सरणी में एक विशेषता का अधिकतम मान ढूँढना स्ट्रिंग के vb .net क्रमबद्धता क्रमचय या संयोजन? एंड्रॉइड पर फेसबुक ऐप (अगर इंस्टॉल किया हुआ) में फेसबुक पेज खोलें ढूँढें: -exec को लापता तर्क अजगर में किसी ऑब्जेक्ट के गुणों की गणना कैसे करें?

भागो प्रक्रिया और रुको मत

मैं एक प्रक्रिया चलाने के लिए और वापसी के लिए इंतजार नहीं करना चाहता हूँ। मैंने इस तरह P_NOWAIT और उपप्रक्रिया के साथ अंडे की कोशिश की है:

app = "C:\Windows\Notepad.exe" file = "C:\Path\To\File.txt" pid = subprocess.Popen([app, file], shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE).pid 

हालांकि, कंसोल खिड़की जब तक मैं नोटपैड बंद रहता है। क्या यह प्रक्रिया शुरू करना संभव है और इसे पूरा करने के लिए इंतजार नहीं करना चाहिए?

Solutions Collecting From Web of "भागो प्रक्रिया और रुको मत"

यह कॉल बाल प्रक्रिया को समाप्त करने के लिए प्रतीक्षा नहीं करता है (लिनक्स पर) मुझसे पूछें कि close_fds क्या करता है; मैंने कुछ साल पहले कोड लिखा था (बीटीडब्ल्यू: subprocess.Popen का दस्तावेज़ीकरण। subprocess.Popen भ्रामक है, आईएमएचओ।)

 proc = Popen([cmd_str], shell=True, stdin=None, stdout=None, stderr=None, close_fds=True) 

संपादित करें:

मैंने उपप्रक्रिया के दस्तावेज़ीकरण को देखा, और मेरा मानना ​​है कि आपके लिए महत्वपूर्ण पहलू stdin=None, stdout=None, stderr=None, । अन्यथा Popen कार्यक्रम के आउटपुट कब्जा, और आप इसे देखने की उम्मीद है। close_fds माता पिता की प्रक्रिया बनाता है 'फ़ाइल संभालता है बच्चे के लिए दुर्गम

आखिरकार मुझे यह काम करने के लिए मिला मैं "पायथन 2.6.6 (r266: 84297, 24 अगस्त 2010, 18:13:38) [एमएससी v.1500 64 बिट (एएमडी 64)] win32" चला रहा हूं "। यहां बताया गया है कि मुझे इसे कैसे कोड करना था:

 from subprocess import Popen DETACHED_PROCESS = 0x00000008 cmd = [ sys.executable, 'c:\somepath\someprogram.exe', parm1, parm2, parm3 ] p = Popen(cmd,shell=False,stdin=None,stdout=None,stderr=None,close_fds=True,creationflags=DETACHED_PROCESS) 

यह मानक इनपुट / आउटपुट के सभी पाइपिंग को बंद करता है और शेल में कहा गया प्रोग्राम को निष्पादित नहीं करता है। DETACHED_PROCESS को 'creationflags' सेट करना मेरे लिए चाल करना चाहता था मैं भूल गया जहां मुझे इसके बारे में पता चला, लेकिन एक उदाहरण यहाँ प्रयोग किया जाता है ।

मुझे लगता है कि इसे कार्यान्वित करने के लिए सरल तरीके P_NOWAIT ध्वज से गुजरने वाले कार्यों के ओएसस्पैन * परिवार का उपयोग कर रहा है।

उदाहरण के लिए, एक बड़ी फ़ाइल को नई निर्देशिका में कॉपी करने के लिए cp प्रक्रिया पैदा होगी और इसकी प्रतीक्षा करने के लिए परेशान नहीं होंगे।

 import os os.spawnlp(os.P_NOWAIT, 'cp', 'cp', '/path/large-file.db', '/path/dest')