- 🐚作者简介:花神庙码农(专注于Linux、WLAN、TCP/IP、Python等技术方向)
- 🐳博客主页:花神庙码农 ,地址:https://blog.csdn.net/qxhgd
- 🌐系列专栏:Linux技术
- 📰如觉得博主文章写的不错或对你有所帮助的话,还望大家三连支持一下呀!!! 👉关注✨、点赞👍、收藏📂、评论。
- 如需转载请参考转载须知!!
引言
- 日常经常有如下需求,下载一个tar包或者进行Linux系统的编译等,但是由于耗时较久,终端软件会长时间占着一个窗口和SSH连接。本文总结了一种方式,可以在SSH断开后,继续之前的任务。
步骤
- 在前台执行自己的操作,如:
[qxhgd@localhost ~]$tar -czvf code.tar.gz code
- 按下ctrl+z暂停进程并且返回shell:
[qxhgd@localhost ~]$ tar -czvf code.tar.gz code
^Z
[1]+ Stopped tar -czvf code.tar.gz code
- 输入bg命令,使暂停的进程在后台运行,此时可通过ps -aef命令查看到此进程:
[qxhgd@localhost ~]$ ps -aef | grep tar
qxhgd 11140 30218 0 20:44 pts/10 00:00:00 tar -czvf code.tar.gz code
- 输入jobs,记录这个进程的编号。输出内容最前面有个中括号[],里面的就是编号。
[qxhgd@localhost ~]$jobs
[1]+ Stopped tar -czvf code.tar.gz code
- 输入disown -h %上一步查到的编号,例如
[qxhgd@localhost ~]$disown -h %1
小结
- 此时,经过上述步骤后,即使断开ssh连接后,进程不会被kill掉;
- 在实际操作中,也可以配合输出到null设备,如1>/dev/null 2>/dev/null,以避免满屏幕的打印。
如本文对你有些许帮助,欢迎大佬支持我一下,您的支持是我持续创作的不竭动力
支持我的方式