killall [选项] [-signal(信号)] [name]

killall发送一条信号给所有允许任意指定命令的进程。如果没有指定信号名,则发送SIGTERM。信号可以是名字或数字,只有信号0(检查进程是否存在)只能以数字方式指定。

如果命令名包括斜杠(/),那么执行该特定文件的进程将被杀死,这与进程名无关。

Killall进程杀不死自己,但可以杀死其他killall进程。

(1).选项

-e,--exact 精准匹配。由于命令名长于15个字符时,会杀死匹配前15个字符的所有进程。此时需要使用-e选项进行精准匹配。
-g,--process-group 杀死属于该进程组的所有进程。
-i,--interactive 交互式,杀死进程前请求确认
-I,--ignore-case 进程名匹配不区分大小写
-l,--list 列出所有信号名
-o,--older-than 仅匹配指定时间之前(在指定时间之前开始)的进程。单位s、m、h、d、w(周)、M、y
-q,--quiet 静默模式,不报错
-r,--regexp 使用扩展正则表达式解释name
-s,--signal 发送指定信号等同[-signal]
-u.--user 仅终止指定用户拥有的进程。命令名是可选的。
-v,--verbose 报告是否发送成功
-V,version 显示版本
-w,--wait 等待killall执行完成,每秒检测一次,直到完成返回。如果信号被忽略或不起作用,或停留在僵尸状态,killall会永久等待。
-y,--younger-than 仅匹配指定时间之后的进程,与-o选项相反。
-z,--context (仅限SELinux)指定环境(变量):仅杀死含有与指定扩展正则表达式匹配的环境(变量)的进程。必须在其他参数之前,命令名是可选的。

(2).实例

  killall的信号没有kill的信号多,详细如下

[xf@xuexi ~]$ 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

  常用的仍然是HUP(1,终端断线),INT(2,中断,同<Ctrl>+c),QUIT(3,退出,同<Ctrl>+\),KILL(9,强制终止),TERM(15,缺省信号,终止,正常结束),CONT(18,继续,同fg/bg命令),STOP(19,停止),TSTP(20,暂停,同<Ctrl>+Z)

  正常终止与强制终止

[xf@xuexi ~]$ vim a.txt&
[1] 9870
[xf@xuexi ~]$ killall -15 vim  //TERM终止,正常结束
[1]+ 已停止 vim a.txt
[xf@xuexi ~]$ vim a.txt&
[1] 9601
[xf@xuexi ~]$ killall -9 vim  //KILL强制终止
[1]+ 已停止 vim a.txt
[1]+ 已杀死 vim a.txt

(3).扩展

pkill [选项] <模板>

  与killall类似,比较常见的用法是root用户强制踢出已登录的用户

[root@xuexi ~]# w  //查看当前所有在线用户
11:08:44 up 1:43, 4 users, load average: 0.14, 0.13, 0.09
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
xf :0 :0 09:26 ?xdm? 4:07 0.68s /usr/libexec/gn
root pts/0 :1 11:08 4.00s 0.11s 0.03s w
root :1 :1 11:01 ?xdm? 4:07 0.55s /usr/libexec/gn
xf pts/1 192.168.128.137 11:08 21.00s 0.08s 0.08s -bash    //目标
[root@xuexi ~]# pkill -kill -t pts/1  //发送kill信号给TTY为pts/1的目标
[root@xuexi ~]# w
11:09:07 up 1:43, 3 users, load average: 0.10, 0.13, 0.09
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
xf :0 :0 09:26 ?xdm? 4:10 0.69s /usr/libexec/gn
root pts/0 :1 11:08 3.00s 0.12s 0.03s w
root :1 :1 11:01 ?xdm? 4:10 0.56s /usr/libexec/gn

  

Linux命令之killall的更多相关文章

  1. linux 命令——43 killall(转)

    Linux 系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进 程,如果要找到我们需要杀死的进程,我们还需 ...

  2. 每天一个linux命令(43):killall命令

    Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在 ...

  3. 每天一个linux命令(35):killall命令

    Linux 系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进 程,如果要找到我们需要杀死的进程,我们还需 ...

  4. linux命令(7)killall

    killall命令: Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀 ...

  5. 【转】每天一个linux命令(43):killall命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/21/2827366.html Linux系统中的killall命令用于杀死指定名字的进程(kill ...

  6. 【Linux命令】常用系统工作命令11个(echo、date、reboot、poweroff、wget、ps、top、pidof、kill、killall、pkill)

    目录 echo命令 date命令 reboot命令 poweroff命令 wget命令 ps命令 top命令 pidof命令 kill命令 killall命令 pkill命令 一.echo命令 ech ...

  7. Linux 下使用 killall 命令终止进程的 8 大用法

    Linux 的命令行提供很多命令来杀死进程.比如,你可以向 kill 命传递一个PID来杀死进程:pkill 命令使用一个正则表达式作为输入,所以和该模式匹配的进程都被杀死. 但是还有一个命令叫 ki ...

  8. Linux 命令 - killall: 通过进程名向进程发送信号

    命令格式 killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME... killall -l, --list killall -V, ...

  9. linux常用命令:killall 命令

    killall命令用进程的名字来杀死进程. 1.命令格式:    killall [ -egiqvw ] [ -signal ] [进程名称] 格式:killall -<signame> ...

随机推荐

  1. 深入理解微服务架构spring的各个知识点(面试必问知识点)

    什么是spring spring是一个开源框架,spring为简化企业级开发而生,使用spring可以使简单的java bean 实现以前只有EJG才能实现的功能. Spring是一个轻量级的控制反转 ...

  2. Linux进程调度与源码分析(二)——进程生命周期与task_struct进程结构体

    1.进程生命周期 Linux操作系统属于多任务操作系统,系统中的每个进程能够分时复用CPU时间片,通过有效的进程调度策略实现多任务并行执行.而进程在被CPU调度运行,等待CPU资源分配以及等待外部事件 ...

  3. 大原則 研讀 spec 與 code 的 心得

    最近在研究 stm32f429i-disc0 的 device tree source code, 並且 參造 Devicetree Specification Release 0.1, 在 dts ...

  4. 用__builtin_return_address获得程序运行栈情况【转】

    转自:http://blog.csdn.net/vpwork/article/details/7680102 %pF versatile_init+0x0/0x110 %pf versatile_in ...

  5. MVC 从控制器将数据对象赋值给前端JS对象

    @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport&quo ...

  6. SQL利用Case When Then多条件判断SQL 语句

    http://www.cnblogs.com/kevin2013/archive/2010/07/02/1769682.html SQL利用Case When Then多条件判断SQL ,用于sele ...

  7. AspxGridView 表中的ASPxHyperLink不导出到excel

    在软件中 因为要连接到其他的页面所以类型转成了ASPxHyperLink,但是用官方的导出控件导出到excel之后,连接依旧保留着, 目的:去除导出来的连接 方法:把之前的ASPxHyperLink转 ...

  8. tornado 模版

    tornado 模版语法 取消转义 : 取消项目转义 :autoescape = None 取消模版转义:{% autoescape None %} 取消行转义   :{% raw bd %} 强制转 ...

  9. MySQL数据库分表分区(一)(转)

    面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗? 答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的   解决方案: 目前针对 ...

  10. linux命令(20):rm命令

    1. 强行删除文件,系统不再确认:rm –f test.log 2. 删除任何.log文件:rm *.log 3. 将test子目录及子目录中所有档案删除:rm –r  test 4. 将 test子 ...