
第 2 步:使用 kill 命令杀死进程
· 优雅地终止 (推荐先尝试):
```bash
kill <PID>
# 或者明确指定 SIGTERM
kill -15 <PID>
```
· 例如:kill 1234
· 强制杀死 (如果上述无效):
```bash
kill -9 <PID>
```
· 例如:kill -9 1234
· 一次性杀死所有同名进程:
```bash
killall [进程名]
# 优雅方式
killall firefox
# 强制方式
killall -9 firefox
```
· 根据端口号杀死进程 (非常实用):
```bash
# 首先找到监听某个端口的进程PID
sudo lsof -ti:8080
# 然后杀死它
sudo kill -9 $(sudo lsof -ti:8080)
# 或者一条命令完成
sudo kill -9 $(lsof -ti:8080)
```
在 Windows 上
Windows 的命令行主要使用 taskkill 命令。
· 通过映像名称(进程名)杀死进程:
```cmd
taskkill /IM [进程名.exe] /F
```
· /IM 指定映像名称。
· /F 表示强制终止。不加 /F 则是尝试优雅地终止。
· 示例:强制结束所有 notepad.exe 进程:
```cmd
taskkill /IM notepad.exe /F
```
· 通过 PID 杀死进程:
1. 先用 tasklist 命令查找 PID:
```cmd
tasklist | findstr [关键字]
```
· 示例:tasklist | findstr chrome
2. 然后使用 taskkill:
```cmd
taskkill /PID [PID号] /F
```
· 示例:taskkill /PID 1234 /F
---
总结与最佳实践
为了帮助您快速做出选择,决策流程如下:
```mermaid
graph TD
A[需要终止进程] --> B{是否无响应?};
B -- 否 --> C[尝试优雅终止<br>Linux: kill <PID> <br> Win: taskkill /PID <PID>];
C --> D{是否成功?};
B -- 是 --> E[强制终止<br>Linux: kill -9 <PID> <br> Win: taskkill /IM <name> /F];
E --> F[进程被终止];
D -- 是 --> F;
D -- 否 --> E;
```
系统 查找 PID 优雅终止 强制终止
Linux/macOS pgrep firefox kill <PID> 或 kill -15 <PID> kill -9 <PID>
Windows `tasklist findstr notepad` taskkill /PID <PID>
最佳实践建议:
1. 先礼后兵:总是先尝试使用 SIGTERM(不加 -9),给进程一个优雅退出的机会,避免数据丢失。
2. 谨慎使用 kill -9:SIGKILL 是最后的手段,因为它可能导致资源(如临时文件、共享内存段)无法正确释放。
3. 权限:你通常只能杀死你自己启动的进程。要杀死其他用户(特别是 root)的进程,需要在命令前加 sudo(Linux/macOS)或以管理员身份运行命令行(Windows)。
graph TD
A[需要终止进程] --> B{是否无响应?};
B -- 否 --> C[尝试优雅终止<br>Linux: kill <PID> <br> Win: taskkill /PID <PID>];
C --> D{是否成功?};
B -- 是 --> E[强制终止<br>Linux: kill -9 <PID> <br> Win: taskkill /IM <name> /F];
E --> F[进程被终止];
D -- 是 --> F;
D -- 否 --> E;

ssl (httos://Proxcy/anti-Virus/Virus/Rocket/tencent/BAT/NginX/SEO)

480

被折叠的 条评论
为什么被折叠?



