通过Mac终端SSH登录Ubuntu AWS实例后,如何退出终端不终止进程?
解决SSH终端被占用时退出且不终止进程的方法(新手友好)
嘿,作为Linux和Mac终端新手遇到这个问题太正常啦!别慌,我给你一步步讲怎么操作,保证简单易懂:
方法一:临时挂起进程并让它后台独立运行(最适合当前情况)
这是针对你已经启动了进程、终端被占用的场景:
- 首先,绝对别按Ctrl+C! 那会直接终止你的目标进程。你需要按 Ctrl + Z —— 这个快捷键会把当前正在跑的进程暂时“暂停挂起”,终端会立刻回到可以输入命令的状态,同时会显示类似这样的信息:
[1]+ Stopped ./your-target-script.sh(这里的[1]就是进程的编号) - 如果终端一直在刷屏导致Ctrl+Z没反应,先按 Ctrl + S 暂停输出,再按Ctrl+Z,之后按 Ctrl + Q 恢复进程的输出就好啦
- 接下来输入命令
bg %1—— 把刚才挂起的进程放到后台继续运行(如果只有一个挂起的进程,直接输bg就行,不用加%1) - 然后输入命令
disown %1—— 这个命令会让进程彻底脱离当前的SSH终端,这样你退出终端的时候,进程就不会跟着终止了(同样,单个进程直接输disown也可以) - 最后输入
exit就能安全退出SSH终端,你的目标进程会在AWS Ubuntu实例上继续运行哦
方法二:提前预防(下次启动进程时用)
如果下次再启动这类需要长期运行的进程,你可以一开始就用这个方法,避免终端被占用:
- 启动进程时直接用命令:
nohup ./your-target-script.sh &nohup会让进程忽略终端关闭的信号,&会把进程放到后台运行- 运行后终端会提示输出内容会保存到
nohup.out文件里,你之后可以用cat nohup.out查看进程的输出日志
内容的提问来源于stack exchange,提问作者RustyShackleford
相关产品推荐
相关产品推荐

