说明
killall命令用于直接使用进程名称来终止进程
格式
killall [option] [pname]
常用参数
- -e:要求匹配进程名称(当进程名大于15个字符时有用)。默认情况下,进程名称的长度超过了15个字符,则无法使用整个名字(被溢出).使用-e参数的作用是忽略模糊匹配项。
- -I:不区分大小写匹配
- -g:终止属于该进程组的进程
- -i:在终止进程之间询问是否确认
- -l:列出所有已知的信号
- -q:如果没有进程终止就不提示
- -r:使用正则表达式匹配要终止的进程名称
- -s:用指定的信号代替默认的信号
- -u:终止指定用户的的进程
- -w:等待所有被终止的进程死去。killall美妙都会检查一次呗终止的进程是否任然存在,仅仅在所有进程都死后才返回。注意:如果信号被忽略或者没有起作用,或者进程停留在僵尸状态,那么killall可能会永久的等待
示例
[root@localhost ~]# ps -aux|grep nginx
root 1580 0.0 0.1 45896 1108 ? Ss May27 0:00 nginx: master process /apps/nginx/sbin/nginx
nginx 1589 0.0 0.2 46756 2628 ? S May27 0:00 nginx: worker process
nginx 2168 0.0 2.1 374796 22004 ? S May27 0:00 php-fpm: pool www
nginx 2169 0.0 1.9 374792 19992 ? S May27 0:00 php-fpm: pool www
root 3203 0.0 0.0 112660 976 pts/0 S+ 00:43 0:00 grep --color=auto nginx
[root@localhost ~]# killall nginx
[root@localhost ~]# killall nginx
nginx: no process found
[root@localhost ~]#
[root@localhost ~]# /apps/nginx/sbin/nginx
[root@localhost ~]#
[root@localhost ~]# killall -w nginx
[root@localhost ~]# killall -w nginx
nginx: no process found