Linux killall命令:通过名称杀死进程(附带实例)
killall 命令就不再依靠 PID 来杀死单个进程了,而是通过程序的进程名来杀死一类进程,其格式如下:
【实例 1】 杀死 httpd 进程。
【实例 2】交互式杀死 sshd 进程。
[root@localhost ~]# killall [选项][信号] 进程名选项:
- -i:交互式,询问是否要杀死某个进程;
- -l:忽略进程名的大小写。
【实例 1】 杀死 httpd 进程。
[root@localhost ~]# systemctl restart httpd.service # 重启RPM 包默认安装的 Apache 服务 [root@localhost ~]# ps aux | grep "httpd" | grep -v "grep" root 2587 0.1 1.2 20116 11484 ? Ss 14:54 0.00 /usr/sbin/httpd -DFOREGROUND apache 2588 0.0 0.7 21588 7332 ? S 14:54 0.00 /usr/sbin/httpd -DFOREGROUND apache 2589 0.0 1.7 1210372 17016 ? S 14:54 0.00 /usr/sbin/httpd -DFOREGROUND apache 2590 0.0 1 1.1 1079236 10876 ? S 14:54 0.00 /usr/sbin/httpd -DFOREGROUND [root@localhost ~]# killall httpd # 杀死所有进程名是 httpd 的进程(注意:正常情况下,应该使用 systemctl 命令关闭 Apache 服务) [root@localhost ~]# ps aux | grep "httpd" | grep -v "grep" # 查询后发现所有的 httpd 进程都消失了
【实例 2】交互式杀死 sshd 进程。
[root@localhost ~]# ps aux | grep "sshd" | grep -v "grep" root 677 0.0 1 16092 9516 ? ? Ss 12:04 0.00 sshd:/usr/sbin/sshd root 2414 0.0 0.7 9380 7396 ? S 14:35 0.00 sshd:root@pts/0 root 2815 0.0 0.7 19380 7000 ? S 14:56 0.00 sshd:root@pts/1 # 查询系统中有3个sshd进程。677是sshd服务的进程,2414和2815是两个远程连接的进程