实用脚本 5 -- 通过进程名批量杀死进程

分享一个通过进程名杀死进程的脚本,不需要找到进程号一一杀死,大大提高了工作效率
使用方法: kproc 程序1 程序2 ...

脚本文件kproc

#!/bin/sh

PRGN=`basename $0`
TMPF="/var/tmp/$PRGN.$$"

quit ()
{
    rm -f $TMPF
    exit $1
}

#===============#
# MAIN Entrance #
#===============#

if [ $# -lt 1 ]; then
    echo "Usage: $PRGN {process_name}"
    quit 1
fi

uid=`id -u`
if [ $uid -eq 0 ]; then
    echo "Superuser cannot use this program !"
    quit 1
fi

while [ $# -ge 1 ]; do

    ps -f -u $uid | grep $1 | egrep -v "grep|kproc|vi|pts" > $TMPF

    cnt=`cat $TMPF | wc -l`

    while [ $cnt -gt 0 ]; do
        line=`sed -n "${cnt}p" $TMPF`
        pid=`echo $line | cut -d " " -f2`
        kill -16 $pid
        echo stop $1 --- $pid
        cnt=`expr $cnt - 1`
    done

    shift

done

quit 0
时间: 2024-10-16 06:19:35

实用脚本 5 -- 通过进程名批量杀死进程的相关文章

windows下批量杀死进程

有时候由于病毒或其他原因,启动了一系列的进程,并且有时杀了这个,又多了那个.使用命令taskkill可将这些进程一下子全部杀光: C:\Users\NR>taskkill /F /im frontpg.exe 成功: 已终止进程 "FRONTPG.EXE",其 PID 为 3732. 成功: 已终止进程 "FRONTPG.EXE",其 PID 为 24544. 成功: 已终止进程 "FRONTPG.EXE",其 PID 为 3612. 错误

windows 批量杀死进程方法

有时候由于病毒或其他原因,启动了一系列的进程,并且有时杀了这个,又多了那个.使用命令taskkill可将这些进程一下子全部杀光: C:\Users\NR>taskkill /F /im frontpg.exe 实际输入:taskkill /F /im frontpg.exe   <------------进程名 原文地址:https://www.cnblogs.com/yuqiangwu/p/10390975.html

linux 批量杀死进程

ps aux|grep python|grep -v grep|cut -c 9-15|xargs kill -15 管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入. 以下是用管道符联接起来的命令含义: “ps aux”是linux 里查看所有进程的命令.这时检索出的进程将作为下一条命令“grep python”的输入. “grep python”的输出结果是,所有含有关键字“python”的进程,这是python程序 “grep -v grep”是在列出的进程中去

ps 批量杀死进程

ps aux | grep xxx |awk '{print $2}'|xargs kill -9

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

怀念windows下的任务管理器啊,有啥看的顺眼的程序鼠标点几下就能将其干掉. 今天在用Firefox浏览器浏览网页时,界面瞬间卡住了,什么都不能点,测试了下,只有切换到命令行界面(Ctrl+Alt+F1)才有反应,切回文本界面Ctrl+Alt+F7)后还是卡住的.ps:其他按键的感觉就像是失效一般,很无助的说... 游走在命令行界面发呆,正打算强制关机时,突然发现以前写的一个Shell脚本,功能是给出一个进程名,就会把关联进程Id全部kill掉. Shell脚本源码如下: #!/bin/sh

实用脚本 3 -- 进程查看脚本

分享一个进程查看脚本(rlook),方便进程查看: 1.添加脚本,内容如下: #!/bin/kshcd $HOME/binps -u $LOGNAME|egrep " \progress1| \            progress2| \progress3| \" > $HOME/log/tmp.csclearecho ""echo "press <return> to check $LOGNAME system status\c&q

Linux中使用ps、awk、sh一起批量杀死所有的dotnet进程。

一.操作 Linux中使用ps.awk.sh一起批量杀死所有的dotnet进程. 二.命令 ps -ef|grep dotnet|awk 'NR==2{print "kill "$2}'|sh 说明: NR表示行号是第二行.$2表示是ps进程列表中的第2列. 三.如图

Linux批量杀死包含某个关键字的进程

ps -ef|grep ./amplxe-gui|grep -v grep|cut -c 9-15|xargs kill -9 批量杀死包含关键字"./amplxe"的进程. "ps -ef" --查看所有进程 "grep ./amplxe-gui" --列出所有含有关键字"./amplxe-gui"的进程 "grep -v grep" --在列出的进程中去除含有关键字"grep"的进程

linux 中批量杀死包含某个关键字的进程

去公司面试的时候关于Linux命令一般会问这个问题: 批量杀死包含php的所有进程...... 一开始我是不会的,只知道ps找出来进程.后来知道了可以用grep过滤出包含Php的进程,后来又知道了用kill -9 可以杀死,后来又知道了用xargs 可以进行参数代换,所以记录一下. ps -aux | grep "php" | grep -v grep | cut -c 9-15 | xargs kill -9 分成5段,利用管道命令传递. 第一段是列出所有的进程: 第二段是过滤出包含