Я пишу код, который запускает командную строку с использованием исполнителя apache по умолчанию. Я нашел способ получить код выхода, но я не смог найти способ получить идентификатор процесса.Получение идентификатора процесса с помощью java apache default executor
мой код:
protected void runCommandLine(OutputStream stdOutStream, OutputStream stdErrStream, CommandLine commandLine) throws InnerException{
DefaultExecutor executor = new DefaultExecutor();
PumpStreamHandler streamHandler = new PumpStreamHandler(stdOutStream,
stdErrStream);
executor.setStreamHandler(streamHandler);
Map<String, String> environment = createEnvironmentMap();
try {
returnValue = executor.execute(commandLine, environment);
} catch (ExecuteException e) {
// and so on...
}
returnValue = e.getExitValue();
throw new InnerException("Execution problem: "+e.getMessage(),e);
} catch (IOException ioe) {
throw new InnerException("IO exception while running command line:"
+ ioe.getMessage(),ioe);
}
}
Что я должен сделать для того, чтобы получить ProcessID?
Взгляните на [это] (http://stackoverflow.com/questions/5174426/graceful-kill-of-apache-commons-exec-process). –
Im работает с Windows ... – Rivi