系统监控 / 命令文档

Linux kill命令

$ kill 18 个章节 Linux 命令详解

概述

掌握进程管理的核心工具

基本概念

kill命令是Linux系统中用于终止进程的核心工具。它通过向进程发送信号来控制进程的行为。

核心作用:

终止运行中的进程

向进程发送各种控制信号

进行进程管理和故障排除

系统资源回收和优化

重要提示: kill命令实际上是发送信号,而不是直接"杀死"进程。进程收到信号后会根据信号类型执行相应的操作。

命令语法

kill [选项] [信号] PID
kill -l  # 列出所有信号
kill -s 信号名 PID
killall 进程名
pkill 进程名

常用选项:

-l : 列出所有可用信号

-s : 指定信号名称

-9 : 强制终止信号

-15 : 正常终止信号(默认)

# 正常终止进程

kill 1234

# 强制终止进程

kill -9 1234

# 使用信号名

kill -KILL 1234

常用信号详解

信号编号信号名称含义应用场景
1SIGHUP挂起信号重新加载配置文件,重启服务
2SIGINT中断信号相当于Ctrl+C,正常中断
9SIGKILL强制终止无条件终止,无法被捕获
15SIGTERM正常终止默认信号,允许进程清理资源
18SIGCONT继续执行恢复暂停的进程
19SIGSTOP暂停进程暂停进程执行

1. 系统维护

终止僵尸进程

清理系统资源

重启系统服务

2. 故障排除

终止无响应程序

释放被占用的端口

解决进程死锁

3. 服务管理

重新加载配置

优雅重启服务

批量管理进程

注意事项: 优先使用SIGTERM(15)而非SIGKILL(9) 谨慎操作系统关键进程 确认PID正确性,避免误杀

1. 查找进程PID

# 查看所有进程

ps aux | grep nginx

# 查看进程树

pstree -p

# 根据进程名查找PID

pidof nginx

pgrep nginx

2. 终止单个进程

# 正常终止

kill 1234

# 强制终止

kill -9 1234

# 使用信号名

kill -TERM 1234

3. 批量操作

# 终止所有nginx进程

killall nginx

# 按进程名模糊匹配

pkill -f "python.*server"

# 终止用户所有进程

pkill -u username

服务重启技巧

# Nginx优雅重启

kill -HUP `cat /var/run/nginx.pid`

# Apache重新加载配置

kill -USR1 `pidof httpd`

# 检查进程是否存在

kill -0 1234 && echo "进程存在"

批量管理

# 终止所有Python进程

pkill -f python

# 终止特定用户进程

pkill -u www-data

# 按CPU使用率终止

ps aux --sort=-%cpu | head -10

安全操作

# 确认进程信息后终止

ps -p 1234 -o pid,ppid,cmd

kill 1234

# 使用timeout防止hang住

timeout 10s kill 1234

# 检查终止结果

kill 1234 && echo "成功" || echo "失败"
最佳实践: 优先使用 kill -15(SIGTERM)给进程机会清理资源 等待几秒后,如果进程仍未终止,再使用 kill -9 对于服务进程,优先使用服务管理命令如 systemctl 在生产环境中,操作前务必确认进程PID和影响范围

案例1:处理僵尸进程

# 查找僵尸进程

ps aux | awk '$8 ~ /^Z/ { print $2, $11 }'

# 找到父进程并重启

ps -eo pid,ppid,state,comm | grep Z

kill -HUP 父进程PID

案例2:释放端口占用

# 查找占用80端口的进程

lsof -i :80

netstat -tlnp | grep :80

# 终止占用进程

kill -9 $(lsof -t -i:80)

案例3:批量清理进程

# 清理所有超过1小时的Chrome进程

ps -eo pid,etime,comm | awk '/chrome/ && $2 > "01:00:00" {print $1}' | xargs kill

# 清理高内存占用进程

ps aux --sort=-%mem | head -5 | awk 'NR>1 && $4>10.0 {print $2}' | xargs kill -15

同分类 · 其他命令文档