Linux 命令之 - killall
命令简介
killall
是一个用于根据进程名称来终止进程的命令。它可以终止所有具有指定名称的进程,无需知道进程 ID。与 pkill
命令类似,killall
也是基于进程名称来操作的,但它们在实现方式和部分选项上有所不同。killall
命令是 Linux 系统管理员常用的进程管理工具之一。
命令语法格式
1 | killall [options] [--] name [...] |
其中:
- name: 是要终止进程的名称。
参数使用说明
命令实例
基础用法
1.终止指定名称的进程
1 | # 终止所有名称为 apache2 的进程 |
2.使用不同的信号终止进程
1 | # 使用 TERM (15) 信号终止进程 |
3.列出可用的信号
1 | $ killall -l |
4.终止指定用户的进程
1 | $ killall -u john |
5.终止指定用户的所有 “firefox” 进程
1 | $ killall -u leazhi firefox |
6.精确匹配进程名称
1 | $ killall -e http # 只匹配进程名为 http 的进程 |
7.忽略大小写
1 | $ killall -I HTTP # 匹配进程名称中包含 HTTP 或 http 的进程 |
8.终止进程组
1 | $ killall -g httpd # 终止 httpd 进程组 |
9.终止更新/更旧的进程
1 | $ killall -y 3600 httpd # 终止比 3600 秒更新的 httpd 进程 |
扩展用法
1.在终止进程前进行确认
1 | $ killall -i httpd |
2.限制要终止的进程数量
1 | $ killall -c 3 httpd # 最多终止 3 个 httpd 进程 |
3.使用正则表达式匹配进程
1 | $ killall -r '^http' # 匹配以 http 开头的进程 |
4.等待进程终止
1 | $ killall -w httpd # 等待所有 httpd 进程终止 |
5.结合 ps 命令筛选进程
1 | # 终止所有 CPU 使用率超过 50% 的 "node" 进程 |
6.结合 grep 命令过滤结果
1 | # 终止所有包含 "my-app" 字符串的进程 |
高级用法
1.终止具有指定安全上下文的进程
1 | $ killall -Z system_u:system_r:httpd_t:s0 httpd |
该命令将终止具有 system_u:system_r:httpd_t:s0
安全上下文的 httpd
进程。
2.结合 pgrep
命令使用
killall
可以与 pgrep
命令结合使用,实现更加灵活和强大的功能。
1 | # 终止所有占用内存超过 1GB 的进程 |
3.使用 killall 命令轮询重启服务
1 | # 创建一个脚本,每 5 分钟检查一次 "sshd" 服务,如果未运行则重启 |
4.使用 killall 命令监控进程并自动重启
1 | # 创建一个脚本,监控 "mysqld" 服务,如果 CPU 使用率超过 80% 则重启 |
以上就是关于 killall
命令的详细介绍和使用示例,希望对你有所帮助。如果还有任何疑问或需要进一步的帮助,欢迎随时提出。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 生活日志!
评论