设为首页 收藏本站
查看: 601|回复: 0

[经验分享] tomcat的shell脚本---显示进程号

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-2-17 08:24:29 | 显示全部楼层 |阅读模式
#!/bin/bash  
#  
# chkconfig: - 95 15   
# description: Tomcat start/stop/status script  

#Location of JAVA_HOME (bin files)  
export JAVA_HOME=/usr/local/jdk1.7.0_75

#Add Java binary files to PATH  
export PATH=$JAVA_HOME/bin:$PATH  

#CATALINA_HOME is the location of the configuration files of this instance of Tomcat  
CATALINA_HOME=/opt/tomcat  

#TOMCAT_USER is the default user of tomcat  
TOMCAT_USER=www

#TOMCAT_USAGE is the message if this script is called without any options  
TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"  

#SHUTDOWN_WAIT is wait time in seconds for java proccess to stop  
SHUTDOWN_WAIT=20  

tomcat_pid() {  
        echo `ps -ef | grep $CATALINA_HOME | grep -v grep | tr -s " "|cut -d" " -f2`  
}  

start() {  
  pid=$(tomcat_pid)  
  if [ -n "$pid" ];then  
    echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"  
  else  
    echo -e "\e[00;32mStarting tomcat\e[00m"  
    if [ `user_exists $TOMCAT_USER` = "1" ];then  
      su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh  
    else  
      $CATALINA_HOME/bin/startup.sh  
    fi  
    status  
  fi  
  return 0  
}  

status(){  
  pid=$(tomcat_pid)  
  if [ -n "$pid" ];then  
    echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"  
  else  
    echo -e "\e[00;31mTomcat is not running\e[00m"  
  fi  
}  

stop() {  
  pid=$(tomcat_pid)  
  if [ -n "$pid" ];then  
    echo -e "\e[00;31mStoping Tomcat\e[00m"  
        $CATALINA_HOME/bin/shutdown.sh  

    let kwait=$SHUTDOWN_WAIT  
    count=0;  
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]  
    do  
      echo -n -e "\e[00;31mwaiting for processes to exit\e[00m\n";  
      sleep 1  
      let count=$count+1;  
    done  

    if [ $count -gt $kwait ];then  
      echo -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m"  
      kill -9 $pid  
    fi  
  else  
    echo -e "\e[00;31mTomcat is not running\e[00m"  
  fi  

  return 0  
}  

user_exists(){  
  if id -u $1 >/dev/null 2>&1; then  
    echo "1"  
  else  
    echo "0"  
  fi  
}  

case $1 in  
        start)  
          start  
        ;;  

        stop)   
          stop  
        ;;  

        restart)  
          stop  
          start  
        ;;  

        status)  
      status  
        ;;  

        *)  
      echo -e $TOMCAT_USAGE  
        ;;  
esac      
exit 0  



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-178940-1-1.html 上篇帖子: tomcat 开机以非root用户启动 下篇帖子: tomcat 宕机原因排查
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表