private boolean startLauncher(File dir) { try { Runtime rt = Runtime.getRuntime(); ArrayList<String> command = new ArrayList<String>(); command.add("java"); command.add("-jar"); command.add("Launcher.jar"); String[] cmdarray = command.toArray(new String[command.size()]); Process proc = rt.exec(cmdarray, null, dir); return true; } catch (Exception ex) { System.err.println("Unable to start the Launcher program.\n" + ex.getMessage()); return false; } }
/** * Register the classLoader and start a thread that will be used to monitor folders where classes * can be created. * * @param classLoader the classLoader of the application * @param ctx the spring application context */ public static void register(ClassLoader classLoader, ConfigurableApplicationContext ctx) { try { Environment env = ctx.getEnvironment(); // Load from env the list of folders to watch List<String> watchFolders = getWatchFolders(env); if (watchFolders.size() == 0) { log.warn( "SpringLoaded - No watched folders have been defined in the application-{profile}.yml. " + "We will use the default target/classes"); watchFolders.add("target/classes"); } final Thread thread = new Thread(new JHipsterFileSystemWatcher(watchFolders, ctx, classLoader)); thread.setDaemon(true); thread.start(); Runtime.getRuntime() .addShutdownHook( new Thread() { public void run() { JHipsterFileSystemWatcher.isStarted = false; try { thread.join(); } catch (InterruptedException e) { log.error("Failed during the JVM shutdown", e); } } }); } catch (Exception e) { log.error("Failed to start the watcher. New class will not be loaded.", e); } }
private static boolean isAaptPresent() throws Exception { boolean result = true; try { Process proc = Runtime.getRuntime().exec("aapt"); BufferedReader br = new BufferedReader(new InputStreamReader(proc.getErrorStream())); String line = null; while ((line = br.readLine()) != null) {} } catch (Exception ex) { result = false; } return result; }
public static boolean init() { synchronized (cudaEngines) { System.err.println("---------Initializing Cuda----------------"); try { extractAndLoadNativeLibs(); JCudaDriver.setExceptionsEnabled(true); JCudaDriver.cuInit(0); compileKernelsPtx(); // Obtain the number of devices int deviceCountArray[] = {0}; JCudaDriver.cuDeviceGetCount(deviceCountArray); availableDevicesNb = deviceCountArray[0]; if (availableDevicesNb == 0) return false; availableDevicesNb = NB_OF_DEVICE_TO_USE; // TODO initialization = Executors.newCachedThreadPool(); System.out.println("Found " + availableDevicesNb + " GPU devices"); for (int i = 0 /*-NB_OF_DEVICE_TO_USE*/; i < availableDevicesNb; i++) { final int index = i; Future<?> initJob = initialization.submit( new Runnable() { public void run() { System.err.println("Initializing device n°" + index); cudaEngines.put(index, new CudaEngine(index)); } }); initJob.get(); initialization.shutdown(); } } catch (InterruptedException | ExecutionException | IOException | CudaException | UnsatisfiedLinkError e) { e.printStackTrace(); System.err.println("---------Cannot initialize Cuda !!! ----------------"); return false; } Runtime.getRuntime() .addShutdownHook( new Thread() { @Override public void run() { CudaEngine.stop(); } }); System.out.println("---------Cuda Initialized----------------"); return true; } }
/** * Checks if address can be reached using one argument InetAddress.isReachable() version or ping * command if failed. * * @param addr Address to check. * @param reachTimeout Timeout for the check. * @return {@code True} if address is reachable. */ public static boolean reachableByPing(InetAddress addr, int reachTimeout) { try { if (addr.isReachable(reachTimeout)) return true; String cmd = String.format("ping -%s 1 %s", U.isWindows() ? "n" : "c", addr.getHostAddress()); Process myProc = Runtime.getRuntime().exec(cmd); myProc.waitFor(); return myProc.exitValue() == 0; } catch (IOException ignore) { return false; } catch (InterruptedException ignored) { Thread.currentThread().interrupt(); return false; } }