杀死所有的tomcat进程

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

猜你喜欢

转载自blog.csdn.net/GoSaint/article/details/90139332