最近工作中遇到程序监控的问题,要求程序停止时重启java程序,每小时执行一次,所以使用crontab监控java程序,如果没有启动则启动java程序
首先编写java启动脚本,将进程pid输出到文件
java -jar /usr/local/soft/java.jar & echo $!>/usr/local/soft/java.pid
然后编写监控脚本,根据pid查找进程,如果进程不存在则执行启动脚本
pid=$(cat /usr/local/soft/java.pid) ps -p $pid if [ $? -eq 0 ]; then echo "app process exist" else /usr/local/soft/start.sh fi
将监控加入到crontab定时任务
0 */1 * * * /usr/local/soft/checkprocess.sh
本文由微儿博客原创,博客地址:www.weare.net.cn 或者点击 微儿博客
相关推荐
- `crontab`:虽然`crontab`主要用于定时任务,但可以通过设置`@reboot`指令使其在系统启动时执行Java程序。 3. **使用第三方工具** - `Launch4j`:这是一个用于Windows平台的工具,可以将Java应用封装为独立的可...
8. **日志记录**:为了便于调试和监控,开机启动的Java程序应该记录详细的日志,包括启动、运行和异常情况。 9. **资源管理**:考虑到开机启动时系统资源可能有限,Java程序需要合理管理内存、文件句柄等资源,避免...
在Linux环境中,定时执行Java程序是一项常见的需求,用于自动化任务执行,例如监控系统状态、发送短信和邮件通知。本文将详细介绍如何实现这样的功能,并探讨其中涉及的多线程技术和相关工具。 首先,我们需要一个...
在Linux环境中独立执行Java程序,通常是因为需要在非容器环境下运行,这可能涉及到对系统资源的直接访问,例如配置数据库...这个过程需要对Linux命令行工具和Java环境有深入理解,以便有效地管理和监控Java应用程序。
工具方面,有一些专门用于管理和控制自动启动程序的应用,比如Windows的任务管理器和计划任务,Linux的`systemctl`和`crontab`,以及Mac的`launchctl`。这些工具可以帮助用户查看、添加、修改和删除自动启动项,方便...
### Linux中使用Crontab定时监测维护Tomcat应用程序的方法 #### 概述 在现代IT运维工作中,确保关键业务系统的高可用性和稳定性至关重要。本文档详细介绍了一种利用Linux下的Crontab工具来定时监测并维护运行在...
在Java应用程序的运行过程中,了解线程的状态和行为至关重要,因为这可以帮助我们诊断性能问题、内存泄漏或死锁。本文将深入探讨如何使用Java提供的工具——`jps`和`jstack`,以及如何通过Shell脚本来定时收集Java...
用shell脚本监控进程是否存在 不存在则启动的实例,先上代码干货: #!/bin/sh ps -fe|grep processString |grep -v grep if [ $? -ne 0 ] then echo start process..... else echo runing..... fi ##### ...
在这个函数中,首先检查 jar 包是否已经启动,如果已经启动,则输出提示信息;否则,使用 `nohup` 命令来启动 jar 包,并将输出重定向到文件中。 在 Linux 中,可以使用 `crontab -l` 命令来查看当前用户的定时任务...
Cron表达式是一种强大的时间调度机制,广泛应用于各种定时任务的配置,例如在Java中的Quartz框架。它是由七个子表达式组成的字符串,每个子表达式都代表一个时间维度(秒、分钟、小时、日期、月份、星期、年份)。...
Crontab是Linux系统中用于调度周期性任务的命令,它可以按照设定的时间间隔运行指定的脚本或程序。Crontab配置文件包含一系列规则,每条规则定义了一个任务的执行时间及要执行的命令。 三、配置ThinkPHP 5.1的...
在Java中,基本类型(如int、char等)的传递是按值传递的,而对象类型的传递则是按引用传递的。理解这一点对于正确处理变量和对象之间的交互至关重要。 **2. hashCode & equals** `hashCode()` 和 `equals()` 方法...
1. **使用cron任务**:可以编写一个脚本,定时检查Tomcat的运行状态,如果发现异常则触发重启。在Unix/Linux系统中,可以使用crontab配置定时任务。 2. **使用Supervisor**:Supervisor是一个进程管理工具,可以...
所以大家在实施kettle作业调度功能的时候,通常采用以下几种方式:使用spoon程序来启动Job,使用crontab或计划任务,自主开发java程序来调用kettle的类库。项目介绍Kettle调度监控平台(以下简称KS)是一个自主开发...
Windows的任务计划程序允许用户设置定时运行的脚本或程序,而Linux下的Cron服务则可以按时间间隔执行任务。例如,你可以编写一个Python脚本,然后设置在每天特定时间由计划任务调用它。 2. **守护进程**:在Unix/...
通过`crontab -e`编辑定时任务,设置`checkAppAndRun.sh`每30分钟执行一次,如果发现应用进程不存在,脚本会尝试重新启动应用。`crontab -l`可以用来查看当前用户已经设置的定时任务。 为了确保应用程序的稳定运行...
- **监控与重启**:使用`nohup`或`screen`命令可以让程序在后台运行,即使用户退出Shell会话也不会停止。同时,可以结合`crontab`定时任务或`systemd`服务来实现自动重启。 4. **shell_test文件** 在提供的压缩包...
总结起来,"JAVA 基于SpringBoot+layui秒级定时任务管理"项目旨在利用Spring Boot的定时任务能力以及layui的前端组件,构建一个可高效管理和监控的定时任务系统。通过这样的系统,开发者可以方便地创建、修改和查看...
用户可以通过这些命令轻松地查看任务状态,启动、停止或重启任务,以及设置新的任务调度规则。 此外,cronManager还兼容部分crontab语法,这使得熟悉crontab的开发者能够无缝过渡到使用这个工具。crontab语法是一种...