我正在編寫一個程序,需要能夠通過命令提示符打開並終止一個Minecraft服務器。我有它的代碼到目前爲止是這樣的:使用Java按順序運行命令行命令
Runtime.getRuntime().exec("cd ./Server"); //go to the server directory
Process server = Runtime.getRuntime().exec("java -Xmx1024M -Xms1024M -jar minecraft_server.exe nogui"); //run minecraft server in nogui mode
Thread.sleep((long)(1000*60*.5)); //wait 30 seconds
Runtime.getRuntime().exec("stop"); //terminate the server
Thread.sleep((long)(1000*60*.5)); //wait 30 seconds
server.destroy(); //forcibly terminate the server assuming it hasn't already
System.exit(0);
這僅僅是基本的邏輯代碼,我拿出來了。我嘗試過使用BufferedWriters,但他們只是不工作,即使通過執行cd命令也會出錯。我正在使用minecraft.net/download.jsp上的Minecraft_Server.exe。 「stop」命令在進程處於活動狀態時運行,並通知程序保存服務器,然後終止。我是否需要以某種方式使用線程。請幫助:)我已經放了好幾個小時試圖找到答案,我只是無能爲力。
這是行不通的。這兩個命令仍將作爲單獨的進程執行。 – 2011-06-15 14:50:29