linux 通过程序名杀死进程

方法1:适用于嵌入式linux

http://bbs.csdn.net/topics/360151075?page=1

linux使用脚本杀死指定名称的进程

#!/bin/ksh
ps -ef|grep -v grep|grep process_name|while read u p o
do
kill -9 $p
done

方法2:命令杀死

http://os.51cto.com/art/200910/158639.htm

linux下杀死进程全权讲解

经过搜集和整理相关的linux杀死进程的材料,在这里本人给大家推荐本篇文章,希望大家看后会有不少收获。

1. kill
作用:根据进程号杀死进程
用法: kill [信号代码] 进程ID
举例:
[root@localhost ~]# ps auxf |grep httpd
注意:kill -9 来强制终止退出
举例 [root@localhost ~]# ps aux |grep gaim
或者 [root@localhost ~]# pgrep -l gaim 5031 gaim
5031 gaim
[root@localhost ~]# kill -9 5031
特殊用法:
kill -STOP [pid]
发送SIGSTOP (17,19,23)停止一个进程,而并不linux杀死进程。
kill -CONT [pid]
发送SIGCONT (19,18,25)重新开始一个停止的进程。
kill -KILL [pid]
发送SIGKILL (9)强迫进程立即停止,并且不实施清理操作。
kill -9 -1
终止你拥有的全部进程。

2. killall
作用:通过程序的名字,直接杀死所有进程
用法:killall 正在运行的程序名
举例:
[root@localhost beinan]# pgrep -l gaim 2979 gaim
[root@localhost beinan]# killall gaim
注意:该命令可以使用 -9 参数来强制杀死进程

3. pkill
作用:通过程序的名字,直接杀死所有进程
用法:#pkill 正在运行的程序名
举例:
[root@localhost beinan]# pgrep -l gaim 2979 gaim
[root@localhost beinan]# pkill gaim

4. xkill
作用:杀死桌面图形界面的程序。
应用情形实例:firefox出现崩溃不能退出时,点鼠标就能杀死firefox 。
当xkill运行时出来和个人脑骨的图标,哪个图形程序崩溃一点就OK了。
如果您想终止xkill ,就按右键取消;
调用方法:
[root@localhost ~]# xkill

◆注:
KILLALL
NAME (名称)
killall - 以名字方式来linux杀死进程 
SYNOPSIS (总览)
killall [-egiqvw] [-signal] name ...
killall -l
killall -V 
DESCRIPTION (描述)
killall 发送一条信号给所有运行任意指定命令的进程. 如果没有指定信号名, 则发送SIGTERM.。
信号可以以名字 (如 -HUP ) 或者数字 (如 -1 ) 的方式指定. 信号 0 (检查进程是否存在)只能以数字方式指定。
如果命令名包括斜杠 (/), 那么执行该特定文件的进程将被杀掉, 这与进程名无关。
如果对于所列命令无进程可杀, 那么 killall 会返回非零值. 如果对于每条命令至少杀死了一个进程, killall 返回 0。Killall 进程决不会杀死自己 (但是可以杀死其它 killall 进程)。

OPTIONS (选项)

-e对于很长的名字, 要求准确匹配. 如果一个命令名长于 15 个字符, 则可能不能用整个名字 (溢出了). 在这种情况下, killall 会杀死所有匹配名字前 15 个字符的所有进程. 有了 -e 选项,这样的记录将忽略. 如果同时指定了 -v 选项, killall 会针对每个忽略的记录打印一条消息。

-g杀死属于该进程组的进程. kill 信号给每个组只发送一次, 即使同一进程组中包含多个进程。

-i交互方式,在linux杀死进程之前征求确认信息。

-l列出所有已知的信号名。

-q如果没有进程杀死, 不会提出抱怨。

-v报告信号是否成功发送。

-V显示版本信息。

-w等待所有杀的进程死去. killall 会每秒检查一次是否任何被杀的进程仍然存在, 仅当都死光后才返回. 注意: 如果信号被忽略或没有起作用, 或者进程停留在僵尸状态, killall 可能会永久等待。

FILES(相关文件)
/proc proc文件系统的存在位置。
KNOWN bugS (已知 BUGS)
以文件方式杀死只对那些在执行时一直打开的可执行文件起作用, 也即, 混杂的可执行文件不能够通过这种方式杀死。
要警告的是输入 killall name 可能不会在非 Linux 系统上产生预期的效果, 特别是特权用户执行时要小心。
在两次扫描的间隙, 如果进程消失了而被代之以一个有同样 PID 的新进程, killall -w 侦测不到。

 

http://codingstandards.iteye.com/blog/986313

我使用过的Linux命令之killall - 杀死指定名字的进程

本文链接:http://codingstandards.iteye.com/blog/986313   (转载请注明出处)

用途说明

killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,这真是一个太好用的命令了。

常用参数

格式:killall <command-name>

杀死指定名字的进程。实际上是向名字为<command-name>的所有进程发送SIGTERM信号,如果这些进程没有捕获这个信号,那么这些进程就会直接被干掉了。

格式:killall -<signame> <command-name>

格式:killall -<signum> <command-name>

发送指定的信号到名字为<command-name>的所有进程。指定的信号可以是名称<signame>,也可以是信号对应的数字<signum>。下面是常用的信号:第一列为<signame>,第二列为<signum>,第三列为信号的含义。

HUP     1    终端断线
INT       2    中断(同 Ctrl + C)
QUIT    3    退出(同 Ctrl + \)
TERM    15    终止
KILL      9    强制终止
CONT   18    继续(与STOP相反, fg/bg命令)
STOP    19    暂停(同 Ctrl + Z)

格式:killall -l

列出支持的信号。

使用示例

示例一

[root@jfht ~]# killall -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED
[root@jfht ~]#

示例二

[root@jfht ~]# killall tail
[root@jfht ~]# killall tail
tail: no process killed
[root@jfht ~]#

示例三

这个例子展示怎样把所有的登录后的shell给杀掉,因为有些bash实际上已经没有终端相连接了。

[root@jfht ~]# w
21:56:35 up 452 days,  5:16,  3 users,  load average: 0.05, 0.06, 0.01
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/1    220.112.87.62    21:53    0.00s  0.02s  0.00s w
root     pts/9    220.112.87.62    21:53    2:44   0.02s  0.02s -bash
root     pts/10   220.112.87.62    21:53    3:13   0.01s  0.01s -bash
[root@jfht ~]# killall -9 bash
此bash也被·卡掉了,所以连接丢失了。现在重新连接并登录。


Last login: Mon Apr  4 21:53:23 2011 from 220.112.87.62
[root@jfht ~]# w
21:56:52 up 452 days,  5:16,  1 user,  load average: 0.28, 0.10, 0.02
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/1    220.112.87.62    21:56    0.00s  0.01s  0.00s w
[root@jfht ~]#

问题思考

相关资料

【1】CrazyLemon linux – killall – 以名字方式来杀死进程
http://www.crazylemon.net/linux/513.html
【2】linux爱好者 killall命令详解
http://blogold.chinaunix.net/u2/68904/showart_1805390.html
【3】中国源码网 杀死进程方法大全
http://yuanma.org/data/2007/0516/article_2600.htm

返回 我使用过的Linux命令系列总目录

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值