Linux 中的 kill 命令用于向进程发送信号,最常用于终止进程。它不仅能“杀死”进程,还能暂停、继续或自定义控制进程行为。
下面是对 kill 命令的详细解析,包括语法、常用信号、参数说明和使用示例:
🧠 基本语法
kill [选项] <PID>
PID是进程的 ID,可通过ps,top,pidof等命令获取。- 如果不指定信号,默认发送
SIGTERM(信号编号 15)。
🚦 常用信号类型
| 信号名称 | 编号 | 作用说明 |
|---|---|---|
SIGTERM |
15 | 请求进程正常终止(可被捕获或忽略) |
SIGKILL |
9 | 强制终止进程(不可捕获或忽略) |
SIGSTOP |
19 | 暂停进程(不可捕获或忽略) |
SIGCONT |
18 | 继续执行被暂停的进程 |
SIGINT |
2 | 中断进程,通常由 Ctrl+C 触发 |
使用 kill -l 可列出所有信号名称。
⚙️ 常用选项说明
-l:列出所有信号名称。-s SIGNAL:发送指定信号,例如kill -s SIGKILL 1234。-<signal>:直接使用信号编号,如kill -9 1234。-p:仅显示进程号,不发送信号。-u 用户名:向指定用户的所有进程发送信号。
📌 使用示例
# 终止进程(默认发送 SIGTERM)
kill 1234
# 强制终止进程(发送 SIGKILL)
kill -9 1234
# 暂停进程
kill -s SIGSTOP 1234
# 继续执行暂停的进程
kill -s SIGCONT 1234
# 显示所有信号名称
kill -l
🛠️ 实用技巧
- 若进程无法被
SIGTERM终止,可尝试使用SIGKILL。 - 可结合
ps aux | grep <进程名>查找 PID。 - 对于后台任务,也可使用
jobs和%<job号>与kill配合使用(如kill %1)