在 Linux 系统中,停止正在运行的命令或进程有多种方法,以下是常见的几种方式:
Ctrl + C(前台进程)ping、top、长时间运行的脚本等)。Ctrl + C。SIGINT 信号,强制终止进程。kill 命令(后台进程或已知 PID)ps 或 pgrep 查找进程 ID(PID):
bash
ps aux | grep "进程名" # 例如 ps aux | grep nginx
pgrep -f "进程名" # 直接获取 PIDSIGTERM 信号,允许进程清理):
bash
kill PID # 例如 kill 1234SIGKILL 信号,立即结束):
bash
kill -9 PID # 例如 kill -9 1234pkill 或 killall(通过进程名终止)pkill(按名称匹配):
bash
pkill -f "进程名" # 例如 pkill -f "python script.py"killall(精确匹配进程名):
bash
killall 进程名 # 例如 killall nginxCtrl + Z + bg/fg + kill(挂起并管理)Ctrl + Z 将前台进程挂起(暂停)。bash
jobs # 显示被挂起的作业列表bash
kill %作业号 # 例如 kill %1systemd 管理的服务:
bash
sudo systemctl stop 服务名 # 例如 sudo systemctl stop nginxdocker 容器:
bash
docker stop 容器名或IDsudo。bash
kill -- -PID组ID # 注意负号kill PID,无效时再用 kill -9 PID(强制终止可能导致数据丢失)。| 场景 | 命令示例 |
|---|---|
| 前台进程 | Ctrl + C |
| 已知 PID | kill PID 或 kill -9 PID |
| 按名称终止 | pkill -f "name" |
| 系统服务 | systemctl stop service |
根据实际情况选择合适的方法,优先使用非强制终止(SIGTERM),避免数据损坏。