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

  Linux下的tomcat的停止脚本shutdown.sh经常失败,造成tomcat进程没关闭。所以只能手动查找进程id,然后用kill命令来强制停止。每次都要这样查一下,然后再杀进程。感觉有点麻烦,所以就把这个动作写在了脚本里面。    

一、思路

     这个脚本其实就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

二、脚本代码

    代码如下(/root/tomcat-instance/shutdown_sp.sh):

 
  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

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循环来杀进程

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值