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

命令格式

killall [-Z CONTEXT] [-u USER] [ -eIgiqrvw ] [ -SIGNAL ] NAME...

killall -l, --list

killall -V, --version

 

命令参数

-e, --exact
  对于长名字,要求精确匹配。如果一个命令名的长度超过 15 字符,则可能不会用完整的名字。这种情况下,killall 会杀死名字匹配前 15 个字符的进程。使用 -e 选项,则会要求进程名字完全匹配。

-I, --ignore-case
  匹配进程名时,忽略大小写。

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

-i, --interactive
  交互模式,在杀死进程之前提示用户确认。

-l, --list
  打印信号的名称列表。

-q, --quiet
  如果没有进程被杀死,也不会有任何提示。

-r, --regexp
  使用扩展的正则表达式去接。

-s, --signal
  指定发送的信号。

-u, --user
  只会作用于指定用户的进程。

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

-V, --version
  显示版本信息。

-w, --wait
  等待所有要杀死的进程死去。killall 每秒会检查是否还有要杀死的进程仍然存活,只有当所有进程都被杀死后程序才会返回。注意:如果信号被忽略或是没有起效,亦或是进程停留在僵尸状态,那么 killall 可能永远等待。

 

实例

a) 杀死所有的 ping 程序实例。

[huey@huey-K42JE ~]$ ping example.com > /dev/null &
[1] 1281
[huey@huey-K42JE ~]$ ping 8.8.8.8 > /dev/null &
[2] 1287
[huey@huey-K42JE ~]$ jobs
[1]-  Running                 ping example.com > /dev/null &
[2]+  Running                 ping 8.8.8.8 > /dev/null &
[huey@huey-K42JE ~]$ killall -v ping
Killed ping(1281) with signal 15
Killed ping(1287) with signal 15
[1]-  Terminated              ping example.com > /dev/null
[2]+  Terminated              ping 8.8.8.8 > /dev/null

 

相关命令

kill - 向进程发送信号

 

posted on 2015-10-13 09:39  huey2672  阅读(2583)  评论(0编辑  收藏  举报