2011-11-08 10 views
8

私はこのようなサブプロセスを呼び出す:なぜpython subprocess.Popenはcmd.exeからサブプロセスを起動しますか?

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

'!='ではなく '| ='を意味します。 1つは「ビット単位または1つ」の割り当てであり、「等しくない」比較である。プロセスリストに表示される各myexe.exeの – agf

+0

には、csrss.exeのcmd.exeが表示されます。それは偶然ではありません。 – pbx

答えて

3

Python 2.7を使用しています - サブプロセスの代わりにsubprocess._subprocess.STARTF_USESHOWWINDOWを使用してください.STARTF_USESHOWWINDOW。私はこれで解決できると思う。

+0

お手伝いすれば答えとして記入してください。ありがとう。 –

関連する問題