版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/GoSaint/article/details/90139332
杀死所有的tomcat进程
大佛拈花 大佛拈花 今天
我们在平时使用tomcat的过程中需要杀死某个或者某几个tomcat进程,一般都使用的命令是 ps -ef|grep tomcat来获取对应的进程号,然后使用kill -9 pid来杀死。我在这里写的是通过一个shell脚本杀死所有的tomcat进程。
启动一个tomcat进程,然后使用 ps -ef|grep tomcat来查看进程:
可以看到有两个进程号,其中第二个是grep tomcat这个命令本身的一个进程,因此我们不需要这个进程。所以使用反向查找命令grep -v grep. 这个命令的作用是不需要grep的这个进程。
我们使用如下的命令来只获取tomcat的进程id:
ps -ef|grep tomcat|grep -v grep
此时看到只有tomcat的进程号。那么如何获取这个id=4960的进程号呢?
使用awk命令,这个命令是一行一行的输出,我们使用awk '{print $2}'就可以获取这个4960啦!{print $2}是获取第二个变量。并且以空格隔开。
因此全命令为:
ps -ef|grep tomcat|grep -v 'grep'|awk '{print $2}'
我们获取到所有的进程号之后,遍历循环杀死即可。因此全部的shell脚本如下:
#! /bin/bash
tomcat_pid=`ps -ef|grep tomcat|grep -v 'grep'|awk '{print $2}'`
echo ${tomcat_pid}
for id in ${tomcat_pid}
do
kill -9 $id
echo "killed ${id}"
done