2011-11-08 15 views
8

Wzywam podproces tak:Dlaczego Python podprocesu.Popen uruchamia podproces w cmd.exe?

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

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

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

Wydaje się, że zamiast uruchamiania myexe.exe bezpośrednio, to idzie przez cmd.exe. Czy mogę tutaj uniknąć cmd.exe?

+3

Co sprawia, że ​​myślisz, że używa 'cmd'? Z całą pewnością nie. –

+1

Masz na myśli '| =' zamiast raczej '! ='. Jednym z nich jest "bitowe" lub "przypisanie" to porównanie "nie jest równe". – agf

+0

dla każdego pliku myexe.exe wyświetlanego na liście procesów jest plik cmd.exe, wyświetlany pod csrss.exe. nie może być zbiegiem okoliczności, jeden za jednego. – pbx

Odpowiedz

3

Jeśli używasz Pythona 2.7 - użyj podprocesu._subprocess.STARTF_USESHOWWINDOW zamiast podprocesu.STARTF_USESHOWWINDOW. Myślę, że to rozwiązałoby.

+0

proszę oznaczyć jako odpowiedź, jeśli ci to pomogło. dzięki. –

Powiązane problemy