退出正在运行的前台命令
-
强制终止当前命令
- 按
Ctrl + C
:立即终止正在终端运行的命令(如ping
、top
或卡死的脚本)。 - 原理:发送
SIGINT
信号,请求程序中断。
- 按
-
暂停命令并放入后台
- 按
Ctrl + Z
:暂停程序并保留在后台(如vim
或python
脚本)。 - 恢复命令:
fg
:恢复到前台运行bg
:在后台继续运行
- 终止暂停的程序:
- 输入
jobs
查看任务编号(如[1]
) - 执行
kill %1
(数字为任务编号)
- 输入
- 按
退出终端会话
-
安全退出当前Shell
- 输入
exit
或logout
:关闭当前终端窗口或SSH连接。 - 快捷键
Ctrl + D
:发送 EOF(文件结束符),效果等同于exit
。 - 注意:若
Ctrl + D
无效(如Shell被嵌套),需多次输入或改用exit
。
- 输入
-
退出远程连接
- SSH会话:直接输入
exit
或Ctrl + D
断开连接。 tmux
/screen
会话:tmux
:按Ctrl + B
后输入d
脱离会话;彻底退出输入exit
screen
:按Ctrl + A
后按D
脱离;输入exit
终止会话
- SSH会话:直接输入
退出常见程序
文本编辑器
-
Vim/Vi:
- 保存退出:按
Esc
后输入:wq
或:x
- 不保存退出:按
Esc
后输入:q!
- 强制退出(崩溃时):
Ctrl + \
或Ctrl + Z
+kill %1
- 保存退出:按
-
Nano:
- 按
Ctrl + X
→ 输入Y
保存或N
放弃 → 确认文件名
- 按
系统监控工具
top
/htop
:- 按
q
直接退出。
- 按
less
/more
(查看文件):- 按
q
退出浏览模式。
- 按
手册页(Man Pages)
- 按
q
退出帮助文档。
强制终止无响应程序
-
通过进程ID终止
- 查找进程ID:
ps aux | grep 程序名
(如ps aux | grep firefox
) - 终止进程:
kill -9 PID
(-9
对应SIGKILL
信号,强制结束)
- 查找进程ID:
-
批量终止同名程序
- 使用
pkill
:pkill -f 程序名
(如pkill -f chrome
) - 使用
killall
:killall 程序名
- 使用
特殊情况处理
-
终止后台运行的服务:
- 系统服务:
sudo systemctl stop 服务名
(如sudo systemctl stop nginx
) - 自定义脚本:先用
ps aux
查找PID,再用kill
终止。
- 系统服务:
-
退出root权限:
- 从root用户返回普通用户:输入
exit
或Ctrl + D
。
- 从root用户返回普通用户:输入
-
Shell脚本中的退出:
- 脚本中插入
exit 0
(成功)或exit 1
(失败)控制退出状态。
- 脚本中插入
注意事项
Ctrl + C
vsCtrl + D
:Ctrl + C
:终止命令。Ctrl + D
:终止终端会话(无命令运行时)。
- 谨慎使用
kill -9
:强制终止可能导致数据丢失,仅在其他方法无效时使用。 - 后台程序:
Ctrl + Z
暂停后,需用kill
或bg
/fg
管理,避免残留进程。
掌握退出命令的四种核心场景:
1️⃣ 前台命令 → Ctrl + C
2️⃣ 终端会话 → exit
或 Ctrl + D
3️⃣ 交互式工具(vim/top)→ 专属命令(如 :q
或 q
)
4️⃣ 无响应进程 → kill -9 PID
正确退出可避免资源占用与数据损坏,是Linux高效操作的关键步骤。
引用说明参考Linux官方文档(man7.org)、GNU Bash手册及Unix系统管理实践(《The Linux Command Line》),操作验证基于Ubuntu 22.04/CentOS 7环境。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5805.html