Linux进程管理之Shell脚本实现根据进程名杀死进程


1. shell脚本源码如下:

#!/bin/bash
#根据进程名杀死进程
if [ $# -lt 1 ]x
then
  echo "缺少参数:pro_name"
  exit 1
fi
 
PROCESS=`ps -ef|grep $1|grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
do
  echo "Killed the $1 process [ $i ]"
  kill -15 $i
done

解析:

  • grep -v grep命令的作用是把grep进程顾虑掉,但是我这里并没有起效。
  • 把命令输出值赋值给变量PROCESS
PROCESS=`ps -ef | grep $1 | grep -v grep | grep -v PPID | awk '{ print $2}'`
  • awk '{print $2} 命令是把一行文字按照空格分成一个数组的形式,然后通过’$1’ ‘$2’等从数组中取值。比如"chen du xiu" 通过awk分词以后,‘$1’对应"chen",’$2’对应"du",’$3’对应"xiu"。这里使用的是 ‘$2’ ,取的是PID。

2. 效果如图:

在这里插入图片描述

脚本等同于以下linux命令

$ ps -ef | grep pro_name | grep -v grep | awk '{print $2}' | xargs kill -15

3. 注:解释一下

可能有人有疑问,我为什么用 kill -15 ,而不用 kill -9

参数9是强制中断,参数15是发送指令给进程使其正常中断。

程序正常运行并且有重要数据的,我建议正常请求终端。如果确定没有什么重要数据,或者赶时间的,就可以使用-9参数迅速中断.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值