ProcessRef launch(JavaCommand command) {
Process process = null;
try {
// cleanup existing monitor files
ProcessCommands commands = new ProcessCommands(command.getTempDir(), command.getKey());
commands.prepare();
ProcessBuilder processBuilder = create(command);
LoggerFactory.getLogger(getClass()).info("Launch process[{}]: {}",
command.getKey(), StringUtils.join(processBuilder.command(), " "));
process = processBuilder.start();