按命令的名字终止进程
killall [-Z ctxpat] [-egiIqrvw] [-s signal] [-u user] [--] cmds
killall -l
killall [-V|--version]
利用killall命令,可以向匹配指定命令名的所有进程发送信号。如果未指定信号(参见“-s”选项),发送的默认信号是SIGTERM。
其中,cmds可以是一个或多个命令的名字,也可以是扩展的正则表达式。
如果指定的命令名并非正则表达式(参见“-r”选项),不管进程名是否包含目录部分,只要指定的命令名匹配进程的文件名部分,则终止相应的进程。
只要终止了至少一个进程,不管是匹配命令行指定的进程,还是匹配“-u”或“-Z”选项指定的进程,killall返回结束状态0,否则返回非0。
注意,killall命令不会终止自身,但可以终止其他killall进程。
-e, --exact 即使命令的名字较长,仍要求严格匹配。如果命令名的长度超过15个字符,也许无法获取完整的命令名,在此情况下,killall通常会终止匹配前15个字符的任何进程。如果指定了“-e”选项,将会忽略这样的进程。如果同时指定了“-v”选项,killall将会输出一条信息,说明忽略的每一个进程。
-g, --process-group 终止进程所属的进程组。对于每个进程组,killall仅发送一次终止信号,即使进程组中存在多个进程。
-i, --interactive 在终止进程之前需要提请用户确认。
-I, --ignore-case 匹配进程名时无须区别大小写字母的不同。
-l, --list 显示killall命令支持的信号列表。
-q, --quiet 即使未终止进程,也禁止输出任何信息。
-r, --regexp 按照扩展的正则表达式解释进程名模式。
-s signal, --signal=signal, -signal 发送指定的信号(而非默认的SIGTERM信号)。信号参数signal既可以是信号名,包括规范的信号名(如SIGKILL)和缩写的信号名(如KILL),也可以是信号代码(如9)。注意,“-s signal”可以简化成“-signal”。
-u user, --user user 仅仅终止属于指定用户的进程。指定这个选项时,命令名参数是选用的。
-v, --verbose 显示信号是否已成功地发送。
-w, --wait 等待需要终止的所有进程完全停止运行。killall每秒检测一次,确定需要终止的进程是否已经完全退出。仅当需要终止的进程均已彻底结束时才返回。注意,如果进程屏蔽了信号或处于僵尸状态,killall命令也许会无限期等待。
-Z ctxpat --context=ctxpat 指定SELinux安全属性模式。仅终止其SELinux安全属性匹配指定的扩展正则表达式的进程。指定这个选项时,命令名参数是选用的。注意,这个选项必须优先于命令行中的其他选项与参数。
1. 向crond守护进程发送SIGHUP信号,令其重新加载crontab文件,使修改后的crontab文件立即生效。
# killall -s SIGHUP crond #
2. 终止指定用户的任何进程。
# killall –u hwang #
索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z