在系统运行过程中,出现系统进程退出,整个消失的情况。使用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();
}
分享到:
相关推荐
为了运行监控脚本,可以将其放置在`/etc/cron.d/`目录下并设置定时执行,或者作为守护进程在后台运行。 总结,通过自启动shell脚本和监控脚本,我们可以实现Linux系统中Java服务的自动化管理和性能监控。这不仅提高...
使用双守护来提高稳定性,守护A负责监控服务器程序与守护B,守护B负责监控守护A,任何一方出现问题,都能快速的启动程序,提高服务器程序的稳定性。 Java的运行环境不同于C等语言开发的程序,Java程序跑在JVM上面...
我们需要在服务器上配置jstatd守护程序,并在客户端使用VisualVM连接服务器监控Java程序。 ### 2.2 在服务器上配置 jstatd 的 security policy 文件 在服务器上需要配置jstatd守护程序的security policy文件,以便...
在Linux环境下启动Java应用程序是许多开发人员和系统管理员日常任务的一部分。Java的可移植性使得它能在各种操作系统上运行,而Linux作为服务器平台的广泛使用,使得了解如何在该平台上启动Java变得至关重要。本文将...
Java环境下,由于Java程序运行在JVM上,不能像C语言那样直接创建进程,因此实现守护进程需要特定的策略。 ### 一、简介 Java中的双守护进程方案旨在解决服务器程序异常退出后无人值守的问题。通常,一个守护进程会...
在Linux上运行Java项目首先需要安装Java Development Kit(JDK)。通常,我们可以通过添加官方的Oracle或OpenJDK仓库,然后使用`apt-get`或`yum`等包管理器进行安装。例如,对于Ubuntu系统: ```bash sudo apt-...
4. **服务化部署**:Linux常用于服务器环境,Java应用可以作为守护进程(daemon)运行,例如通过`nohup`或`systemd`服务单元文件。 5. **版本管理**:工具如`jenv`或`sdkman`可以帮助管理多个Java版本,便于在不同...
本篇将深入探讨"wrapper-linux-x86-64-3.5.55 社区版"这个软件包,它主要用于在Linux环境下运行Java应用程序。Wrapper技术是将Java程序封装到一个可执行的系统服务或守护进程中,使其能够更方便地管理、监控和自动化...
7. **日志记录**:由于守护进程通常运行在后台,它们需要将日志信息写入文件或发送到中央日志服务器,以便于系统管理员监控和调试。 8. **异常处理**:守护进程应具备良好的错误处理机制,确保在遇到问题时能够优雅...
在IT行业中,Tomcat是一个广泛使用的开源Java Servlet容器,它主要负责执行Java Web应用程序。本文将深入探讨如何将Tomcat设置为守护程序,以便在系统启动时自动运行,并且在意外关闭后能自动重启,确保服务的连续性...
8. **监控与守护进程** 对于长期运行的Java应用程序,可以使用`nohup`或`screen`命令使其在后台运行,即使终端关闭也不会被中断。还可以编写更复杂的脚本来管理和重启失败的服务。 通过理解和应用这些知识点,...
8. **日志记录**:为了便于调试和监控,开机启动的Java程序应该记录详细的日志,包括启动、运行和异常情况。 9. **资源管理**:考虑到开机启动时系统资源可能有限,Java程序需要合理管理内存、文件句柄等资源,避免...
这种守护过程通常由一个额外的程序或脚本实现,它监控Tomcat的运行状态,并在检测到服务异常时执行重启操作。 描述中提到的“自动重启已挂掉的tomcat服务器,省去人工人力,保证服务器的正常运行”,意味着通过自动...
在IT领域,性能测试是确保应用程序或系统在高负载下依然能够稳定运行的关键步骤。其中,LoadRunner作为一款强大的性能测试工具,被广泛应用于各种环境下的测试工作中。本文将详细介绍如何利用LoadRunner来监控Linux...
Java Service Wrapper(简称Wrapper)是一个工具,它允许Java应用程序作为操作系统服务运行,支持Windows、Linux、Unix等多种操作系统。通过Wrapper,我们可以将Java程序注册为系统服务,确保其稳定性和可靠性。 在...
JMXTrans是一个Java应用程序,能够从JMX(Java Management Extensions)代理中提取数据,转换后发送给Ganglia或其他监控系统。 6. **监控内容** Ganglia监控的内容通常包括但不限于: - CPU利用率 - 内存使用...
然而,对于高性能集群监控,传统上C语言守护进程被用于集群节点,因为Java在处理此类任务时的性能尚未得到充分验证。 高性能监控定义为以亚秒级频率收集大量数据的能力,这对大型集群尤其重要,因为低效的监控软件...
Java应用程序通常被打包成JAR文件,这是一种可执行的格式,可以直接通过Java虚拟机(JVM)运行。`java -jar`命令是运行JAR文件的标准方式,只需提供JAR文件的路径作为参数。因此,描述中的"运行后面跟jar包名即可...
在Linux环境下,可以创建和执行C或Java语言的Vuser脚本,对系统资源如CPU、内存、磁盘I/O等进行监控。同时,需要在Linux服务器上安装相应的监控代理(如HP SiteScope)来收集数据,并通过LoadRunner控制器进行数据...