Linux下查找进程id并强制中止进程的脚本

    Linux下的tomcat的中止脚本shutdown.sh常常失败,形成tomcat进程没关闭。因此只能手动查找进程id,而后用kill命令来强制中止。每次都要这样查一下,而后再杀进程。感受有点麻烦,因此就把这个动做写在了脚本里面。    

1、思路

     这个脚本其实就2步,先获取进程id,而后 kill 掉这个进程。
(1)获取进程id的方法
    这个能够用 awk命令来获取
ps -ef | grep 你的进程 | grep -v grep | awk '{print $2}'
1
1
 
1
ps -ef | grep 你的进程 | grep -v grep | awk '{print $2}'
        这里要把这个grep这个用 -v 来过滤掉,而后用awk命令,提取第2个参数就是进程id了
(2)杀进程方法
     这个就直接kill -9 进程id 就ok了
kill -9 你的进程id
1
1
 
1
kill -9 你的进程id

2、脚本代码

    代码以下(/root/tomcat-instance/shutdown_sp.sh):
sp_pid=`ps -ef | grep sp-tomcat | grep -v grep | awk '{print $2}'`
if [ -z "$sp_pid" ];
then
 echo "[ not find sp-tomcat pid ]"
else
 echo "find result: $sp_pid "
 kill -9 $sp_pid
fi
8
 
1
sp_pid=`ps -ef | grep sp-tomcat | grep -v grep | awk '{print $2}'`
2
if [ -z "$sp_pid" ];
3
then
4
 echo "[ not find sp-tomcat pid ]"
5
else
6
 echo "find result: $sp_pid "
7
 kill -9 $sp_pid
8
fi
        注意:使用时,须要把第一行的 sp-tomcat 替换换成你但愿杀的进程
        说明:可能有人会说查找进程出现多个进程id时,脚本会报错的。 实际上是不会的,出现多个进程id时,他们之间是有空格隔开来了的。恰好kill命令一次杀多个进程时,进程id须要用空格。因此不须要用for循环来杀进程
相关文章
相关标签/搜索