你是不是也遇到过这种情况:
用 wget 或 curl 下载一个大文件,终端被占着不能干别的;
一不小心关了窗口,下载直接中断——几小时白等!
别慌,Linux 早就为你准备好了「后台运行 + 脱离终端」的组合拳。
只需 4 个简单操作,不中断任务、不丢进度,还能随时关闭终端!
下面手把手教你,把正在前台跑的下载任务,安全转移到后台“无人值守”运行。
场景还原:你的终端被 wget 卡住了
假设你执行了:
wget https://example.com/large-file.iso
现在终端动不了,Ctrl+C 又不敢按(会直接删掉进度),关窗口更不行……
怎么办?别急,我们来“救”它!
🔧 四步操作:让下载任务后台持续跑
✅ 全程不中断任务|✅ 不丢任何已下载数据|✅ 关闭终端也不怕
第一步:暂停任务(不是终止!)
在终端中按下:
Ctrl + Z
你会看到类似提示:
[1]+ Stopped wget https://example.com/large-file.iso
💡 注意:这是 暂停(suspend),不是结束!所有状态都保留着,随时能恢复。
第二步:放到后台继续跑
输入命令:
bg
输出大概是:
[1]+ wget https://example.com/large-file.iso &
现在,下载已经在后台默默继续了!
你的终端也解放了,可以干别的事 👍
⚠️ 但注意:这时候如果关掉终端,任务还是会挂掉!因为还没“脱离”终端。
第三步:确认后台任务在跑
用这个命令看看:
jobs
输出类似:
[1]+ Running wget https://example.com/large-file.iso
如果看到 Stopped,说明又被暂停了,再敲一次 bg 就行。
第四步:关键!让任务彻底脱离终端
这才是真正“不怕关窗口”的秘诀:
disown -h
✅ -h 的意思是:忽略挂起信号(SIGHUP)
✅ 执行后,即使你关掉终端,进程也会继续在系统里跑!
小提示:执行 disown 后,jobs 命令可能就看不到它了——别慌,它还在!
️ 实用补充:你可能还需要这些
想看下载进度?切回前台!
fg
或者指定任务号(比如 [1]):
fg %1
终端会重新被占用,显示实时进度。想放回去?再按 Ctrl+Z → bg 就行。
怎么确认任务真在跑?
jobs 看不到?用 ps:
ps -ef | grep wget
如果输出里有你的命令,说明一切正常!
想取消下载?这样杀掉它
先找 PID:
ps -ef | grep wget
# 输出第二列就是 PID
然后强制终止:
kill -9 <PID>
📝 完整流程回顾(建议收藏)
搞定!从此下载大文件再也不怕断连、不怕关窗。
⚠️ 避坑指南
- ❌ 别按
Ctrl + C!那是直接 kill,进度全丢。 - ✅
disown -h 必须在 bg 之后执行,顺序不能反。 - 💡 如果想记录日志,启动时加输出重定向更稳妥:
wget https://example.com/file.iso > download.log 2>&1
重要
Linux 的进程控制,其实就藏在这几个小命令里:
Ctrl+Z → bg → disown -h
三连招,搞定所有耗时任务:下载、编译、安装、跑脚本……
终端自由,进度无忧。
下次再遇到“卡住”的任务,别傻等——让它去后台悄悄干活吧!
小技巧,大效率。
转发给那个还在盯着 前台进程 进度条发呆的朋友吧 😉