8

ローカルサーバーでWebアーキテクチャを作成し、ローカルホストでhtmlページとphpページを表示するために必要なブラウザをロードするプログラムを作成しました。

このos.system呼び出しはPythonプロセスを強制終了しますが、他のプロセスは強制終了しません。たとえばhttpd.exemysqld.exe

subprocess呼び出しはhttpd.exemysqld.exeプログラムを強制終了しますが、Pythonコードを実行し続け、呼び出し後にコードは実行されませんsubprocess

Pythonコードが実行された後、必要なすべてのプロセスを強制終了または非表示にするにはどうすればよいですか?

これが私のコードです。

os.makedirs(dr + x + '/admin' + '/css')
dobj = open(dr + x + '/admin' + '/css' + '/style.css', 'w')
dobj.close()
del dobj
os.makedirs(dr + x + '/admin' + '/js')
os.makedirs(dr + x + '/admin' + '/img')
################################################################################
## THE OS SYSTEM CALLS CLOSE THE APP BUT OPEN THE PROCESSES
## AND THE SUBPROCESS CALLS CLOSE BOTH PROCESSES AND LEAVES THE APP OPEN
## CANT WIN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
os.makedirs(dr + x + '/admin' + '/conf')
#os.system(r'C:\\xampp\\apache\\bin\\httpd.exe')
#os.system(r'C:\\xampp\\mysql\\bin\\mysqld.exe')
subprocess.Popen(['C:\\xampp\\apache\\bin\\httpd.exe'], shell=True, creationflags=subprocess.SW_HIDE)
subprocess.Popen(['C:\\xampp\\mysql\\bin\\mysqld.exe'], shell=True, creationflags=subprocess.SW_HIDE)
webbrowser.open('localhost/' + x)
sys.exit()
################################################################################


else:
    backmaybe = raw_input('Already Exists... Try Again? (Y/N) ')
if backmaybe == 'y':
    start()
else:
    sys.exit()
4

1 に答える 1