在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 为脚本授可执行权限。