JAvaモニタデーモンlinuxプログラム実行
1377 ワード
システムの実行中に、システムプロセスが終了し、全体が消失する場合があります.JAVAプログラムを使用して、実行を監視し、保護します.
public void doTask_activemq() throws InterruptedException {
/**activemq**/
try {
Process process1 = Runtime.getRuntime().exec("ps -ef|grep java |grep activemq");
String result = getProcessResult(process1);
if (StringUtils.isBlank(result)
|| !result.contains("/home/abc/apache-activemq-5.11.1/bin/activemq.jar")) {
logger.info("@@@activemq , activemq...");
Runtime.getRuntime().exec("/home/abc/apache-activemq-5.11.1/bin/activemq start");
} else {
logger.info("activemq ...");
}
} catch (IOException e) {
e.printStackTrace();
}
}
private String getProcessResult(Process process1) throws IOException, InterruptedException {
process1.waitFor();
InputStream is = process1.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
String line;
StringBuffer sb = new StringBuffer();
while ((line = reader.readLine()) != null) {
sb.append(line);
}
is.close();
reader.close();
process1.destroy();
return sb.toString();
}