Linux ps -ef 排除当前进程(kill当前Tomcat进程)


在Linux 中,我们经常使用“ps -ef|grep tomcat” 查看进程,如下图是我操作的服务器上使用该命令后查看的结果:



可以看到,除了3个紫色的tomcat外,还会有一个该命令的进程。

如果想排除掉那个红色框的当前进程,可以在原来命令后面增加一段参数过滤,如下:

ps -ef|grep tomcat|grep -v grep

只所以这样做,是因为我个人有个需求:写一个sh脚本放在tomcat/bin目录下,kill掉当前tomcat的进程。

编写 kill.sh 脚本,并将该脚本放在 tomcat/bin 目录下,内容如下:

#!/bin/sh
TOM_HOME=$(cd `dirname $0`;cd ..;pwd)
ps -ef|grep $TOM_HOME|grep -v grep|grep -v kill
if [ $? -eq 0 ];then
    kill -9 `ps -ef|grep $TOM_HOME|grep -v grep|grep -v kill|awk '{print $2}'`
else
    echo $TOM_HOME' No Found Process'
fi


使用命令 chmod +x kill.sh 为脚本授可执行权限。



文章作者: 三月天
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 三月天 !
评论
  目录