我有一個.jar文件,我用Popen
的參數運行。該服務器需要大約4秒鐘的時間啓動,然後在終端上輸出「Server Started」,然後運行,直到用戶退出終端。然而,print
和webbrowser.open
由於Popen
立即執行,如果我使用call
,他們永遠不會運行。有沒有辦法確保print
和webbrowser
在服務器啓動之前不會運行,除非使用wait
而不是?也許grep的服務器啓動?確保Python命令的順序
from subprocess import Popen
import glob
import sys
import webbrowser
reasoner = glob.glob("reasoner*.jar")
reasoner = reasoner.pop()
port = str(input("Enter connection port: "))
space = ""
portArg = ("-p", port)
portArg = space.join(portArg)
print "Navigate to the Reasoner at http://locahost:" + port
reasoner_process = Popen(["java", "-jar", reasoner, "-i", "0.0.0.0", portArg, "--dbconnect", "jdbc:h2:tcp://localhost//tmp/UXDemo;user=sa;password=admin"])
# I want the following to execute after the .jar process above
print "Opening http://locahost:" + port + "..."
webbrowser.open("http://locahost:" + port)