shell 命令管理tomcat

简介: 我们一般在linux 上的生产环境管理tomcat 是使用tomcat 目录下面的几个sh 文件来控制的,有时候tomcat 进程会没有完全结束,然后我们再次启动很容易咋成启动二个tomcat 这里集成一个shell 命令来管理。# description: Auto-starts tomcatDir="/tomcat/"echo $DirRETVAL="0

我们一般在linux 上的生产环境管理tomcat 是使用tomcat 目录下面的几个sh 文件来控制的,有时候tomcat 进程会没有完全结束,然后我们再次启动很容易咋成启动二个tomcat 这里集成一个shell 命令来管理。

# description: Auto-starts tomcat

Dir="/tomcat/"
echo $Dir

RETVAL="0"

# See how we were called.
function start() {
        echo -n "Starting Tomcat: " 
    cd $Dir
        ./bin/startup.sh 
        echo 
}

function stop2() {
        stop
    echo >$Dir/logs/catalina.out
}

function stop() {
    pid=$(ps -ef | grep -v 'grep' | egrep $Dir"bin/bootstrap.jar"| awk '{printf $2 " "}')
    if [ "$pid" != "" ]; then      
                echo -n "tomcat ( pid $pid) is running" 

                echo 

                echo -n $"Shutting down Tomcat: "
        cd $Dir
                ./bin/shutdown.sh

        pid=$(ps -ef | grep -v 'grep' | egrep $Dir"bin/bootstrap.jar"| awk '{printf $2 " "}')
        if [ "$pid" != "" ]; then
            echo "kill tomcat process"
            kill -9 "$pid"
        fi
        else 
                echo "Tomcat is stopped" 
        fi

    status
}

function status()
{
    pid=$(ps -ef | grep -v 'grep' | egrep $Dir"bin/bootstrap.jar"| awk '{printf $2 " "}')
    #echo "$pid"
    if [ "$pid" != "" ]; then
        echo "tomcat is running,pid is $pid"
    else
        echo "tomcat is stopped"
    fi
}



function usage()
{
   echo "Usage: $0 {start|stop|stop2(stop and clear catalina.out)|restart|restart2(clear catalina.out)|reload|status}"
   RETVAL="2"
}

# See how we were called.
RETVAL="0"
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    stop2)
        stop2
        ;;
    restart)
        stop
        start
        ;;
    restart2)
        stop2
        start
        ;;
    reload)
        RETVAL="3"
        ;;

    status)
        status
        ;;
    *)
      usage
      ;;
esac

exit $RETVAL
相关文章
|
7月前
|
存储 Unix Shell
Shell 输出命令完全指南:echo 与 printf 的深度剖析
本文深入解析了 Shell 编程中 `echo` 和 `printf` 两个核心输出命令的用法与区别。`echo` 简单易用,适合基础输出;`printf` 功能强大,支持复杂格式化。文章从语法、转义序列、高级技巧到实际应用场景(如日志记录、进度显示)逐一讲解,并对比两者的性能与适用场景,帮助开发者根据需求灵活选择。最后通过进阶技巧和常见问题解答,进一步提升对两者的掌握程度。
391 1
|
8月前
|
网络协议 Shell 网络安全
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
“说说看,如果一个Pod的容器没有Shell,如何测试它能否访问外网?”
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
|
10月前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
318 20
|
10月前
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
361 12
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
1587 7
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
312 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
275 1
|
Shell 知识图谱
Shell printf 命令
10月更文挑战第3天
124 1
|
Shell PHP
Shell echo命令
10月更文挑战第3天
116 0
|
JSON Java Shell
Dockerfile中RUN、CMD、ENTRYPOINT、SHELL命令的区别
理解这些指令的差异和应用场景,有助于构建高效、灵活且易于管理的Docker镜像。在实际应用中,根据需要选择合适的指令,可以有效地控制镜像构建和容器运行的行为。
703 0