import java.io.*; import java.util.*; public class Main { private static List startServerCommand; public static void main(String[] args) { Runtime run = Runtime.getRuntime(); long totalMemory = ((run.totalMemory()/1024)/1024); String[] getServersCommand = {"ls","servery/"}; ProcessBuilder getServersProcessBuilder = new ProcessBuilder(getServersCommand); Process pr = null; try { pr = getServersProcessBuilder.start(); } catch (IOException e) { e.printStackTrace(); } BufferedReader buf = new BufferedReader(new InputStreamReader(pr.getInputStream())); String line; int numServers = 0; try { while ( ( line = buf.readLine() ) != null ) { numServers++; } } catch (IOException e) { e.printStackTrace(); } long mem = totalMemory/numServers; for(int i = 1; i <= numServers; i++) { File directory = new File("servery/server"+i+"/"); List startServerCommand = new ArrayList(); startServerCommand.add("/usr/bin/screen"); startServerCommand.add("-AmdS"); startServerCommand.add("mcx_" + i); startServerCommand.add("/usr/bin/java"); startServerCommand.add("-Xmx600m"); startServerCommand.add("-Xms600m"); startServerCommand.add("-jar"); startServerCommand.add("server.jar"); startServerCommand.add("nogui"); ProcessBuilder serverStartProcessBuilder = new ProcessBuilder(); serverStartProcessBuilder.directory(directory); serverStartProcessBuilder.command(startServerCommand); System.out.println("Zapinam server."); try { pr = serverStartProcessBuilder.start(); } catch (IOException e) { e.printStackTrace(); } buf = new BufferedReader(new InputStreamReader(pr.getInputStream())); try { while ( ( line = buf.readLine() ) != null ) { System.out.println(line); } } catch (IOException e) { e.printStackTrace(); } System.out.println(serverStartProcessBuilder.command()); System.out.println("Server zapnut."+i); } } }