2011-11-08 15 views
8

मैं इस तरह उपप्रक्रिया फोन:पायथन subprocess.Popen cmd.exe के माध्यम से एक subprocess लॉन्च क्यों करता है?

command = 'c:\somepath\myexe.exe' 

startupinfo = subprocess.STARTUPINFO() 
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW 

p = subprocess.Popen(command, shell=False, startupinfo=startupinfo) 

ऐसा लगता है कि बजाय myexe.exe सीधे शुरू करने का है, यह cmd.exe के माध्यम से चला जाता है। क्या मैं cmd.exe से यहां बच सकता हूं?

+3

आपको क्या लगता है कि यह 'cmd' का उपयोग करता है? यह निश्चित रूप से नहीं करता है। –

+1

आपका मतलब '! =' '' = 'के बजाय है। एक "bitwise या" असाइनमेंट एक "बराबर नहीं" तुलना है। प्रक्रिया सूची में दिखाई देने वाले प्रत्येक myexe.exe के लिए – agf

+0

csrss.exe के अंतर्गत cmd.exe शो दिखाई देता है। एक संयोग नहीं हो सकता है, यह एक के लिए एक है। – pbx

उत्तर

3

यदि आप पाइथन 2.7 का उपयोग कर रहे हैं - subprocess.STARTF_USESHOWWINDOW के बजाय subprocess._subprocess.STARTF_USESHOWWINDOW का उपयोग करें। मुझे लगता है कि यह इसे हल करेगा।

+0

अगर उत्तर आपकी मदद करता है तो कृपया उत्तर के रूप में चिह्नित करें। धन्यवाद। –

संबंधित मुद्दे