首页 > 编程笔记 > Linux命令 阅读:12

Linux killall命令:通过名称杀死进程(附带实例)

killall 命令就不再依靠 PID 来杀死单个进程了,而是通过程序的进程名来杀死一类进程,其格式如下:
[root@localhost ~]# killall [选项][信号] 进程名
选项:
【实例 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是两个远程连接的进程

相关文章