2011-11-08 15 views
8

Mi chiamano il sottoprocesso come questo:Perché subprocess.Popen python avvia un sottoprocesso tramite cmd.exe?

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

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

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

Sembra che invece di lanciare MYEXE.EXE direttamente, passa attraverso cmd.exe. Posso evitare cmd.exe qui?

+3

Cosa ti fa pensare che usi 'cmd'? Di certo non lo è. –

+1

Vuoi dire '| =' lì piuttosto che '! ='. Uno è il confronto "bit a bit" o "assegnazione uno" non uguale ". – agf

+0

per ogni myexe.exe visualizzato nell'elenco dei processi è vedere un file cmd.exe in csrss.exe. non può essere una coincidenza, è uno per uno. – pbx

risposta

3

Iff si sta utilizzando Python 2.7 - utilizzare subprocess._subprocess.STARTF_USESHOWWINDOW anziché subprocess.STARTF_USESHOWWINDOW. Penso che questo lo risolva.

+0

per favore segna come risposta se ti ha aiutato. Grazie. –

Problemi correlati