दिलचस्प पोस्ट
नोड आइडेंटिफ़ायर में neo4j वीम में चयन के लिए खोजें कुंजी के रूप में उपयोगकर्ता परिभाषित प्रकारों के साथ std :: नक्शे यूटीएफ -8, यूटीएफ -16, और यूटीएफ -32 जेएसडीपी में जेडीपी पेज में एमडीसी और डीएओ पैटर्न का उपयोग करते हुए JDBC ResultSet सेट करें मैं किसी फ़ंक्शन के अंदर समारोह को परिभाषित क्यों नहीं कर सकता? पांड्या: हर समूह में मतलब द्वारा लापता मूल्यों को भरना रेल: फॉन्ट अद्भुत का उपयोग करना एक टाइमस्टैम्प में SQL सर्वर में datetime फ़ील्ड का डिफ़ॉल्ट मान जोड़ें यदि कोई तत्व एनिमेटेड हो रहा है तो मैं jQuery के साथ कैसे पता लगा सकता हूं? Mongoose का उपयोग कर एक MongoDB दस्तावेज़ से एक कुंजी को हटा दें Fancybox: iframe काम नहीं करता है लघु। वाव फ़ाइलें बजाना – एंड्रॉइड एक 'थंब' क्या है? मैं जावा में एस्केप वर्णों को कैसे प्रिंट करूं

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

मैं एक प्रक्रिया चलाने के लिए और वापसी के लिए इंतजार नहीं करना चाहता हूँ। मैंने इस तरह 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')