Linux Shell根据进程名杀死进程

功能是给出一个进程名,就会把关联进程Id全部kill掉。
Shell脚本源码如下:

!/bin/sh

if [ $# -lt 1 ]
then
echo "缺少参数:procedure_name"
exit 1
fi

PROCESS=ps -ef|grep $1|grep -v grep|grep -v PPID|awk '{ print $2}'
for i in $PROCESS
do
echo "Kill the $1 process [ $i ]"
kill -9 $i
done

如果觉得上边的代码忒复杂,可以直接使用下面的一句来实现。

ps -ef | grep procedure_name | grep -v grep | awk '{print $2}' | xargs kill -9

转自 http://www.fengdingbo.com/shell-stop-procedure.html

时间: 2024-12-03 06:42:04

Linux Shell根据进程名杀死进程的相关文章

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

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

Linux中查看进程及杀死进程命令

Linux中想杀死fcitx进程,然后再重启它. root@www.linuxidc.com:/home/zhangbin# ps -e | grep 'fcitx'  3405 ?        00:00:00 fcitx <defunct>  3415 ?        00:00:02 fcitx   不显示标题 root@www.linuxidc.com:/home/zhangbin# ps -h Warning: bad ps syntax, perhaps a bogus '-'

线程-求救高手。。linux c编程,用进程池实现shell命令cp

问题描述 求救高手..linux c编程,用进程池实现shell命令cp 现在状态是,复制单个文件没问题,复制一个目录且目录里没有子目录也没问题. 如果目录里有一个子目录,这样貌似没有问题,但是如果有多个子目录,就会出现各种问题. 弄了一个晚上了,各种惆怅,求救各位老大帮忙看看. 本人新手,代码比较乱真的非常抱歉. //code start #include #include #include #include #include #include #include #include #inclu

进程-Linux shell 脚本 奇怪

问题描述 Linux shell 脚本 奇怪 写了个名为test.sh的脚本,内容如下 echo ps -ef | grep -v grep | grep "test.sh" 执行脚本后发现能够找到两个test.sh在执行,而且从进程号看是父子关系,这是为什么? 难道每执行一个shell脚本会启两个进程? 解决方案 Linux shell 脚本Linux Shell 脚本linux shell 脚本 解决方案二: 先查看这两个shell的具体命令行是什么

linux shell实现守护进程脚本_linux shell

嵌入式初学者,第一次上传代码.昨天做了一个udhcpd与udhcpc的守护,目前只会用shell模仿编写,还有什么方法可以做守护呢? #! /bin/sh #进程名字可修改 PRO_NAME=udhcpc WLAN=ra0 while true ; do # 用ps获取$PRO_NAME进程数量 NUM=`ps aux | grep ${PRO_NAME} | grep -v grep |wc -l` # echo $NUM # 少于1,重启进程 if [ "${NUM}" -lt &

Linux下批量杀死进程(根据关键字杀死进程)

进程在计算机中是一个程序执行过程的标志,当程序执行完时,相应的进程也该终止.但是实际情况中很多进程没有在程序执行终止时死掉,于是变成了僵尸进程,少量的僵尸进程并不会影响服务器的性能,但是任何服务器在进程很多的时候都无法提供很好的性能. 有时候因为一些特殊情况,需要把 linux 下符合某一项条件的所有进程 kill 掉,又不能用 killall 直接杀掉某一进程名称包含的所有运行中进程(我们可能只需要杀掉其中的某一类或运行指定参数命令的进程),这个时候我们需要运用 ps, grep, cut 和

怎样在Linux命令行下杀死一个进程

Linux 的命令行里面有用来停止正在运行的进程的所有所需工具.Jack Wallen 将为您讲述细节. 想像一下:你打开了一个程序(可能来自于你的桌面菜单或者命令行),然后开始使用这个程序,没想到程序会锁死.停止运行.或者意外死机.你尝试再次运行该程序,但是它反馈说原来的进程没有完全关闭. 你该怎么办?你要结束进程.但该如何做?不管你信与不信,最好的解决方法大都在命令行里.值得庆幸的是, Linux 有供用户杀死错误的进程的每个必要的工具,然而,你在执行杀死进程的命令之前,你首先需要知道进程是

菜鸟学Linux命令:kill命令 终止进程

Linux中的kill命令用来终止指定的进程(terminate a process)的运行 通常,终止一个前台进程可以使用Ctrl+C键,但是,对于一个后台进程就须用kill命令来终止,我们就需要先使用ps/pidof/pstree/top等工具获取进程PID,然后使用kill命令来杀掉该进程.kill命令是通过向进程发送指定的信号来结束相应进程的.在默认情况下,采用编号为15的TERM信号.TERM信号将终止所有不能捕获该信号的进程.对于那些可以捕获该信号的进程就要用编号为9的kill信号,

linux shell 基础 使用日志与心得

在网上看到很多LNAMP/LAMP一键安装环境,使用了很多种,比较好的就那几种,但是他们的灵活度不够,所以想啊,自己整个出来 http://lnmp.org/install.htmlhttp://www.wdlinux.cn/lanmp/ 我是整合这两个环境而成,变化很多. 有很多想法正在慢慢实现中,先把基础的实现. 需实现功能: 1.自定义安装目录(指的是mysql,php,nginx 全部安装到某个目录下) 2.PHP版本选择 以下是用到的 SHELL 命令等 1.#!/bin/bash 第