解决使用$CATALINA_HOME/bin/shutdown.sh内存泄漏的问题

本文介绍了一个用于终止运行在特定目录下的Tomcat服务的Shell命令。该命令通过ps、grep、awk和xargs等工具组合使用,精确查找并结束指定路径下Tomcat进程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ps -ef |grep /usr/local/tomcat | awk -F ' ' '{print $2}'|xargs kill -9 

 

/usr/local/tomcat改为tomcat的安装目录

pipeline { agent any environment { SSH_SERVER = 'MySSH_Server' PROJECT_DIR = '/opt/dev/project' TOMCAT_HOME = '/opt/dev/apache-tomcat-8.5.38' TOMCAT_WEBAPPS = "${TOMCAT_HOME}/webapps" WAR_MODULES = "roncoo-pay-web-boss,roncoo-pay-web-gateway,roncoo-pay-web-merchant,roncoo-pay-web-mobile" } stages { stage('拉取代码') { steps { git url: 'https://gitee.com/zx159963/longguo.git', branch: 'master' } } stage('部署到Tomcat') { steps { script { // 使用单引号避免Groovy变量扩展 def remoteCommand = '''#!/bin/bash -xe cd ''' + PROJECT_DIR + ''' # 构建应用 echo "=== 开始Maven构建 ===" mvn clean install -DskipTests mvn package # 停止Tomcat echo "=== 停止Tomcat服务 ===" ''' + TOMCAT_HOME + '''/bin/shutdown.sh || echo "Tomcat未运行" sleep 5 # 清理旧部署 echo "=== 清理旧WAR包 ===" rm -f ''' + TOMCAT_WEBAPPS + '''/*.war # 部署新包 echo "=== 部署新WAR包 ===" modules=(''' + WAR_MODULES.replace(',', ' ') + ''') for module in "${modules[@]}"; do war_file=$(find ''' + PROJECT_DIR + '''/$module/target -name "*.war" | head -n1) if [[ -f "$war_file" ]]; then echo "找到WAR文件: $war_file" cp -v "$war_file" ''' + TOMCAT_WEBAPPS + '''/ else echo "错误: 找不到$module的WAR文件" exit 1 fi done # 启动服务 echo "=== 启动Tomcat ===" ''' + TOMCAT_HOME + '''/bin/startup.sh echo "=== 部署成功 ===" '''.stripIndent() sshPublisher( publishers: [ sshPublisherDesc( configName: "${SSH_SERVER}", transfers: [ sshTransfer( sourceFiles: '**/*', remoteDirectory: "${PROJECT_DIR}", execCommand: remoteCommand, flatten: false ) ] ) ] ) } } } } }
06-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值