文档章节

Linux下监听Tomcat进程运行情况

moonsnake777
 moonsnake777
发布于 2015/06/09 11:48
字数 340
阅读 42
收藏 0
点赞 0
评论 0

参考来源:http://my.oschina.net/chinaearl/blog/111830

# func:自动监控tomcat脚本并且执行重启操作

# tomcat启动程序(这里注意tomcat实际安装的路径)

StartTomcat=/myzone/apache-tomcat-7.0.56/bin/startup.sh

TomcatCache=/myzone/apache-tomcat-7.0.56/tomcatCache

 
# 定义要监控的页面地址

WebUrl=http://localhost:8080/

 
# 日志输出

GetPageInfo=/myzone/apache-tomcat-7.0.56/null

TomcatMonitorLog=/myzone/apache-tomcat-7.0.56/TomcatMonitor.log

 
Monitor()

{

  echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"

  # 获取tomcat进程ID

  while(true)

  do

  TomcatID=$(ps -ef |grep tomcat |grep -w '\/myzone\/apache-tomcat-7.0.56\/conf'|grep -v 'grep'|awk '{print $2}')

  if [ $TomcatID ];then # 这里判断TOMCAT进程是否存在

    echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..."

    # 检测是否启动成功(成功的话页面会返回状态"200")

    TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})

    if [ $TomcatServiceCode -eq 200 ];
then

        echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常......"

    else

        echo "[error]tomcat页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"

        echo "[error]页面访问出错,开始重启tomcat"

        kill -9 $TomcatID  # 杀掉原tomcat进程

        rm -rf $TomcatCache # 清理tomcat缓存

        $StartTomcat

    fi

  else

    echo "[error]tomcat进程不存在!tomcat开始自动重启..."

    echo "[info]$StartTomcat,请稍候......"

    rm -rf $TomcatCache

    $StartTomcat

  fi

    echo "------------------------------"


  sleep 60

  done

}

Monitor>>$TomcatMonitorLog

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
moonsnake777
粉丝 2
博文 29
码字总数 41046
作品 0
Tomcat内存溢出快速解决办法

cd /opt/apache-tomcat-6.0.29(这是你linux上存放tomcat的路径) 这中间你要去查看日志到底是tomcat是什么问题,定位到那个tomcat的问题。 cd /bin 使用Tomcat关闭命令(一般在运行的项目这...

Villain丶Cc ⋅ 05/27 ⋅ 0

Linux系统的进程与终端管理

原文发表于“网络安全和信息化”2018年第3期,转载到博客。 进程管理是Linux系统运维人员应掌握的一项基本技能,Linux作为典型的多用户操作系统,允许多个用户同时从不同的终端进行登录,用户...

yttitan ⋅ 04/20 ⋅ 0

linux下怎么查询服务器的信息

参考:https://zhidao.baidu.com/question/621368750657770092.html 1,查看内存大小: cat /proc/meminfo |grep MemTotal 2,其他一些可以查看详细linux系统信息的命令和方法: uname -a # 查...

phpervip ⋅ 05/30 ⋅ 0

【译】Metasploit:使用 Metasploit(译者注:本文提供仅链接)

原文地址:https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit 作者:Metasploit Community 译者:王一航 & Google 2018-06-15 校对:王一航 2018-06-15 请从这里开始:......

王一航 ⋅ 06/15 ⋅ 0

tomcat使用memcached完成集群

一.安装memcached 1.windows下安装memcached 需要到一个网站下载memcached的for win 32版本.在memcached的官方网站我是找不到的.我看了下,提供win版下载的是一个个人网站,老外的.应该是他自己...

quguoliang2013 ⋅ 2016/03/14 ⋅ 0

如何在无响应的 Linux 系统中杀掉内存消耗最大的进程

作为一名博客作者,我收藏了很多博客、网站和论坛用来寻找 Linux 和 Unix 相关的内容。有时候,我在浏览器中开启了非常多的标签页,导致操作系统会无响应好几分钟。我不能移动我的鼠标,也不...

16% ⋅ 05/31 ⋅ 0

10.6 监控io性能 10.7 free命令 10.8 ps命令 10.9 查看网络状态 10.10 linux下抓包 linux下抓包

10.6 监控io性能 iostat命令 >iostat命令被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是...

Champin ⋅ 2017/11/28 ⋅ 0

Linux运维工程师笔试题系列2(30题)

Linux运维工程师笔试题系列2(30题) 如果您对问题有疑问,或者认为答案不准确的,欢迎留言交流。 问题如下: 1. 下列哪个git命令不是合并代码用的: A git pull –rebase B git merge C gi...

优惠券发放 ⋅ 05/25 ⋅ 0

几步搭建基于Docker的Tomcat运行环境!

Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装、部署和升级,非...

技术小能手 ⋅ 06/08 ⋅ 0

Linux通过端口查找tomcat的路径

本方法,仅仅限于已经知道tomcat的端口号,并且服务的root权限拿到,进行的操作; 一、通过端口查看进程 netstat -ntlp grep 7880 贴图效果: 二、通过进程查看运行情况,并可以看到路径 ps...

久违了java ⋅ 2017/08/31 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Android JNI 读写Bitmap的方法

Java层创建Bitmap,通过JNI将Bitmap传到C/C++进行处理 Java部分 public static native boolean greenBitmap(Bitmap bitmap); C/C++部分 JNIEXPORT jboolean JNICALL Java_com_test_Test_gree......

国仔饼 ⋅ 11分钟前 ⋅ 0

一次性让你懂async/await,解决回调地狱

什么是async? 欢迎留言讨论 async 函数是 Generator 函数的语法糖。使用 关键字 async 来表示,在函数内部使用 await 来表示异步。相较于 Generator,async 函数的改进在于下面四点: 内置执...

阿K1225 ⋅ 11分钟前 ⋅ 0

angular常用命令

.下载更新操作 1.利用npm下载angular的命令行工具AngularCLI: npm install -g @angular/cli 2.下载jquery: npm install --save jquery 3.更新npm: npm i -g npm 4.更新angular: ng update ......

消散了的诗意 ⋅ 14分钟前 ⋅ 0

window.print 页面打印

定义和用法 print() 方法用于打印当前窗口的内容。 语法 window.print(); window.print() 实际上,是浏览器打印功能菜单的一种程序调用。与点击打印功能菜单一样,不能精确分页,不能设置纸型...

初学者的优化 ⋅ 14分钟前 ⋅ 0

魔兽世界 7.0版本上 PVE装备全攻略

  T套 因为大家应该都会打穿副本的所以具体是哪个boss我就不说了。   T1: 所有套装都在【熔火之心】出   T2: 头原来是在【奥妮克希亚的巢穴】改到黑翼之巢的奈法利安了,腿是在【熔火之...

wangchen1999 ⋅ 15分钟前 ⋅ 0

java.math.BigDecimal使用小结

原文地址 java.math.BigDecimal使用小结 divide方法 使用BigDecimal.divide方法时一定要考虑: 除数是否为0 商是否是无限小数 正确的使用方式 判断除数是否为0,是0做另外的处理逻辑 调用除法...

666B ⋅ 18分钟前 ⋅ 0

关于qstring转char乱码问题。

if (OpenClipboard(NULL)) { HGLOBAL hgClip; EmptyClipboard(); QByteArray byay = FValue.toLocal8Bit(); //转latin编码 char *bochsrc_line = byay.data(); hgClip = GlobalAlloc(GMEM_DD......

backtrackx ⋅ 18分钟前 ⋅ 0

了解SSH加密和连接过程

介绍 SSH或安全shell是安全协议,也是安全管理远程服务器的最常用方式。通过使用多种加密技术,SSH提供了一种机制,用于在双方之间建立加密安全连接,对彼此进行身份验证,以及来回传递命令和...

吴伟祥 ⋅ 24分钟前 ⋅ 0

微信小程序

小程序的基础配置:导航栏和tabbar 在app.json文件中配置导航栏和tabrbar 导航栏的设置 设置导航,背景黑色,文字白色,文字内容 { "pages":[ "pages/index/index", "pages/logs/l...

上官清偌 ⋅ 27分钟前 ⋅ 0

【转】百度坐标坐标系之间的转换(JS版代码)

/** * Created by Wandergis on 2015/7/8. * 提供了百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换 *///定义一些常量var x_PI = 3.1415926535897932...

HAVENT ⋅ 29分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部