Linux(一)监测 jar 运行状况

使用Linux脚本文件实时监测 jar 的运行状况,运行停止后自动重启。

编写监测脚本

要监测 jar 包是否在运行,需要查看当前进程中是否有该进程,没有的话需要重启。

#!/bin/sh
#判断指定进程是否存在
result1=`ps -ef | grep -w xxx | grep -v grep | wc -l`
result2=`ps -ef | grep -w yyy | grep -v grep | wc -l`
if [ $result1 -le 0 ]; then
	#不存在, 后台重启并写入临时日志文件
	nohup /usr/java/jdk1.8.0_251-amd64/bin/java -jar /usr/java/jar/app/xxx.jar > /usr/java/jar/app/xxx.txt &
elif [ $result2 -le 0 ]; then
	#不存在, 后台重启并写入临时日志文件
	nohup /usr/java/jdk1.8.0_251-amd64/bin/java -jar /usr/java/jar/app/yyy.jar > /usr/java/jar/app/yyy.txt &
fi
  • ps -ef:该指令用来查询所有进程
  • grep -w:通过管道来过滤,用于字符串精确匹配
  • grep -v grep:grep -v 指令是反向查询的意思,grep -v grep 的作用是除去包含 grep 的项
  • wc -l:统计查询到的结果数量
  • xxx/yyy:jar 包的名字

定期执行sh

该 sh 需要手动执行,为了实时监测,可以通过 crontab 来定期执行。

Linux crontab 是用来定期执行程序的命令。当安装完成操作系统后,默认便会启动此任务调度命令。

该命令会每分钟定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

在Linux中输入:

crontab -e

编写如下指令,意思为每隔 3 秒执行一次:

*/1 * * * * /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 3 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 6 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 9 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 12 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 15 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 18 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 21 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 24 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 27 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 30 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 33 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 36 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 39 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 42 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 45 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 48 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 51 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 54 && /usr/java/jar/monitorApp.sh
*/1 * * * * sleep 57 && /usr/java/jar/monitorApp.sh

注:crontab 不会读取系统的环境变量,需要在 monitorApp.sh 中将 java 命令的绝对路径写上。


Linux 
更新时间:2020-12-02 17:12:45

本文由 caroly 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载 / 出处外,均为本站原创或翻译,转载前请务必署名
原文链接:https://caroly.fun/archives/linux监测jar运行状况
最后更新:2020-12-02 17:12:45

评论

Your browser is out of date!

Update your browser to view this website correctly. Update my browser now

×