Linux命令:killall - 杀死指定名字的进程

来源:互联网 发布:sas数据分析 编辑:程序博客网 时间:2024/04/30 10:15

用途说明

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

原创粉丝点击