1 问题描述
利用ssh进行远程连接的时候,有时候如果不小心断了连接之后,正在进行的任务就会被杀死,特别是如果我们想要长时间运行一些程序的时候,这种情况下我们会崩溃的。
这时,我们就可以用screen命令,可以完美的解决这个问题。
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。
GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
2 screen使用
ubuntu下安装很简单,直接:
sudo apt install screen
1
sudoaptinstallscreen
在实际使用的时候,首先创建一个新的名为name的窗口:
screen -S name
1
screen-Sname
当我们输完命令之后,会发现依然是一个终端窗口,其实这个时候我们已经进入screen了,我们可以在这个窗口运行我们想要的命令。比如训练一个深度学习模型,这往往需要很久,这时就可以创建一个screen窗口,然后让它自己运行即可。
当程序开始运行的时候,我们就可以将会话分离
输入以下命令进行分离会话:
ctrl+D
@[detached from 1689.mcj]
1
2
ctrl+D
@[detachedfrom1689.mcj]
等我们想重新查看该终端的时候,再恢复会话即可。
screen -ls
#There is a screen on:
# 1689.mcj (06/12/ 02:09:24 PM) (Detached)
#1 Socket in /var/run/screen/S-ubuntu.
screen -r 1689
1
2
3
4
5
screen-ls
#There is a screen on:
#1689.mcj(06/12/ 02:09:24 PM)(Detached)
#1 Socket in /var/run/screen/S-ubuntu.
screen-r1689
本文最后更新于6月11日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
如果觉得《linux终端任务中止 [mcj]利用screen解决ssh连接shell终端断开之后任务终止的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!