linux中根据名称kill进程

shell函数如下:

# kill processes by name
kbn() {
    line=`ps -a | grep $1`
    arr=($line)
    for((i=0;i<${#arr[*]};i=i+4)) // 根据实际情况调整
    {
        if [ -d /proc/${arr[i]} ]; then
            kill -9 ${arr[i]}
        fi
    }
}

 调用时执行

kbn redis-server

 上面是一种比较精准的方法,只是不够优雅。另一种比较粗暴的方法,以关闭redis为例:

ps -a | grep redis | xargs kill -9

 这种方法比较粗暴,会有一定的报错信息,可以用下面这种方法屏蔽报错信息:

ps -a | grep redis | xargs kill -9 2>/dev/null
原文地址:https://www.cnblogs.com/winstonet/p/9087831.html