मैं का उपयोग कर subprocess.Popen
मॉनिटर उप खिड़कियों
import subprocess
prog = subprocess.Popen(['myprog', args], shell=True)
मैं इस प्रक्रिया 'myprog' पर नजर रखने और इंतजार तक यह पहले समाप्त हो जाता है चाहता हूँ एक कार्यक्रम के उद्घाटन कर रहा हूँ में एक शेल कमांड से बनाए प्रक्रिया मेरी कोड जारी है।
जिस समस्या का सामना कर रहा हूं वह prog.pid
है खोल का पीआईडी है और 'myprog' नहीं है और मुझे नहीं पता कि 'myprog' के पीआईडी को कैसे प्राप्त किया जाए। मैं psutil
उपयोग करने के लिए prog.pid
के बच्चे प्रक्रियाओं पता लगाने की कोशिश:
parent = psutil.Process(prog.pid)
children = parent.children(recursive=True)
लेकिन एक खाली सूची लौटाया जाता है।
दुर्भाग्य से मैं खोल के बिना 'myprog' शुरू करने में सक्षम नहीं हूं। मैं निम्नलिखित त्रुटि संदेश मिलता है जब मैं shell=False
साथ कमांड चलाएँ: FileNotFoundError: [WinError 2] The system cannot find the file specified
मैं वेब उच्च और निम्न लेकिन सभी होनहार सुराग गैर Windows उपयोगकर्ताओं के लिए कर रहे हैं खोज की है।
क्या आप वाकई खोल के बिना अपने कार्यक्रम नहीं बना सकते हैं? क्या आप समझा सकते हैं कि आपके प्रश्न में क्यों? शायद वास्तविक कमांड लाइन के साथ। क्योंकि यह ठीक है। –
मैं 'atom path \ to \ file \ to \ open' – EDWhyte
कमांड के साथ एटम खोलने की कोशिश कर रहा हूं और क्या आप' कहां परमाणु 'टाइप कर सकते हैं?हम यहाँ कहीं जा रहे हैं। –