linux tomcat 进程杀掉_linux 查找tomcat进程并杀死
简言
公司项目运营在linux系统上,为了方便发包,自己写了一个自动发包程序。但是,经常会出现tomcat进程没有杀死的情况。为了解决此问题,写了一个处理此类进程的脚本。写下本文的就是记录一下这个脚本,同时也希望能帮到有此需求的人。
步骤分解
1.公共变量
#!/bin/sh
JAVA_JPS="$JAVA_HOME/bin/jps -v"
#公共变量
declare node_name;
2.检索符合条件的tomcat进程
#获取tomcat节点PID
function get_tomcat_node_pid {
pids_search=`$JAVA_JPS | grep $node_name | awk '{print $1}'`;
echo $pids_search;
}
shell中将某个方法、命令的执行结果赋值给某个变量时,需要使用反引号。反引号``不是单引号,而是TAB键上方那个键。
$node_name为tomcat节点名称。
3.检查tomcat进程
#检查tomcat节点是否被杀死
function check_tomcat_node_killed {
pids=`get_tomcat_node_pid`;
pids_array=($pids);
pids_len=${#pids_array[@]};
if [ $pids_len -eq 0 ]
then
return 0;
fi
return 1;
}
根据pids集合的长度判断tomcat进程是否存在。
return只返回number类型的数值,0表示正确,其他为不正确。如果想获取方法的返回值,使用$?接收即可。
4.杀死tomcat进程
#杀死tomcat节点进程
function kill_tomcat_node {
echo "$pids";
for node_pid in $pids
do
echo "kill tomcat node pid of $node_pid";
kill -9 $node_pid;
done
}
利用for循环逐个杀死符合检索条件的tomcat进程。
5.完整脚本
#!/bin/sh
JAVA_JPS="$JAVA_HOME/bin/jps -v"
#公共变量
declare node_name;
#获取tomcat节点PID
function get_tomcat_node_pid {
pids_search=`$JAVA_JPS | grep $node_name | awk '{print $1}'`;
echo $pids_search;
}
#检查tomcat节点是否被杀死
function check_tomcat_node_killed {
pids=`get_tomcat_node_pid`;
pids_array=($pids);
pids_len=${#pids_array[@]};
if [ $pids_len -eq 0 ]
then
return 0;
fi
return 1;
}
#杀死tomcat节点进程
function kill_tomcat_node {
echo "$pids";
for node_pid in $pids
do
echo "kill tomcat node pid of $node_pid";
kill -9 $node_pid;
done
}
#杀死进程
tomcat_kill() {
node_name=$1;
check_tomcat_node_killed;
check_tomcat_node_result=$?;
if [ $check_tomcat_node_result -eq 1 ]
then
kill_tomcat_node;
else
echo "tomcat node is killed already!";
fi
exit $?
}
#执行kill方法
tomcat_kill $1
结尾
这个脚本只是一个简单的执行脚本,为了更友好,可以加上各种友好提示方法,有需要的朋友可以自己去增加。
linux tomcat 进程杀掉_linux 查找tomcat进程并杀死相关推荐
- linux tomcat 进程杀掉_Linux下Tomcat的启动、关闭、杀死进程
打开终端 cd /java/tomcat #执行 bin/startup.sh #启动tomcat bin/shutdown.sh #停止tomcat tail -f logs/catalina.ou ...
- linux tomcat 进程杀掉_Linux下启动停止查看杀死Tomcat进程
启动 一般是执行tomcat/bin/startup.sh,sh tomcat/bin/startup.sh 停止 一般是执行 sh tomcat/bin/shutdown.sh脚本命令 查看 执行p ...
- linux tomcat 进程杀掉_Linux下tomcat的配置踩坑
前言 在配置微信公众号开发的过程,可以参照我的上一篇文章(后来使用Java开发的我表示很鸡肋,虽然配置好了,但是不知道接下来该怎么继续).然后就想起了Windows下Java学习过程中使用过的tomc ...
- linux java进程消失_Linux服务器Java进程消失问题解决
Linux服务器Java进程消失问题解决 发布时间:2020-08-20 15:17:37 来源:脚本之家 阅读:65 作者:myseries 这篇文章主要介绍了Linux服务器Java进程消失问题解 ...
- 表正在被别的用户或进程使用_linux内核对进程的管理分为两个方面
嵌入式开发直播课 - linux内核通知链 - 创客学院直播室www.makeru.com.cn 众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的.l ...
- 僵尸进程是什么,如果产生一个僵尸进程,如何查找僵尸进程
僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程.如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源. ...
- Zombie僵尸进程发现,查找,追踪,杀死,避免
2015/9/6鸟哥私房菜第17章 程序管理与SELinux初探 中的僵尸Z进程 发现:使用Top -d 2时候发现一个僵尸Z进程.q退出. 查找: 而后通过百度搜索到篇文章http://blog.c ...
- Linux上无法杀掉redis、redis-sentinel进程
在Linux上,如果开了redis的守护进程,kill -9和redis-cli shutdown 命令是无法杀掉 redis 进程的 , 杀掉就会重新启动一个新的进程 都无语了 杀掉一个又来一个进程 ...
- linux java查看进程命令_linux一些查看进程情况的命令
1.命令lsof,以查找占用端口80为例,用法如下: [root@localhost nginx]# lsof -i:80 [root@localhost nginx]# 以上为没有进程占用80端口, ...
最新文章
- python切片语法-Python字符串切片操作知识详解
- typedef 用法总结
- 如何实现轮播图的内容的多少随div的大小动态变化_小程序学习日志8:swiper滑动轮播组件(轮播图)(上)...
- YMP框架学习笔记(二)------基于YMP框架搭建WEB应用程序
- oracle 查询dbid,查看oracle 数据库的DBID
- DataLoader, when num_worker 0, there is bug
- 大数据与Hadoop有什么关系?大数据Hadoop入门简介
- 2021-02-22 【转载】什么是GCJ-02火星坐标系;为什么天地图没有偏移
- 【ArcGIS|空间分析】微博签到数据分析(全国大学生GIS技能大赛试题)
- windows 覆盖图标实现
- 百度网站打不开了,只有百度首页跟搜索页打不开其它能正常打开怎么解决?
- R语言-聚类分析(系统聚类)
- 2、PM模块中的主数据
- 计算机 澳洲 博士后 要考雅思么,博士后移民澳大利亚(澳洲做科研博士后)
- 【测试用例练习】十、微信朋友圈点赞 和发红包 测试用例
- 金山打字专业文章计算机,计算机打字训练管理(范文).doc
- python中notebook左侧in中_Python Pmw.NoteBook方法代码示例
- numpy数组的拼接(扩维拼接和非扩维拼接)
- 阿里云ecs配置ssh
- Tableau、PowerBI、OBIEE、QuickBI的比较
热门文章
- maya动画设计课程
- 用计算机对角进行有关运算,新华师大版七年级数学上册用计算器进行计算学案.docx...
- Android学习|第一次创建启动Adnroid项目(包含创建虚拟手机)
- Sqoop使用与原理
- 索尼发布新一代降噪豆耳机WF-1000XM4 处理器是亮点
- python 归一化处理_详解python实现数据归一化处理的方式:(0,1)标准化
- 使用MQTT.fx接入腾讯MQTT平台
- script元素都有哪些属性?分别是哪些作用?
- 中拓互联解密:一个购物码,可以玩出什么花样?
- 基于STM32的0.96寸OLED显示屏显示固定数据、滑动数据、温湿度数据