远程链接 vps 使用 screen 防掉线

例子:当想要下载一个大文件的时候,ssh 链接到服务器以后 用 wget 命令开始下载一个文件,这时 网络不稳定 忽然掉线了,那么 文件下载过程也就中断了。再次 ssh 链接到服务器,用 wget 命令从新下载那个文件:以前的下载过程等于白费 (若是再次掉线 那么又付之东流)。
办法:ssh 链接到服务器以后,先建立一个 screen 的 session ,而后进入到 screen 的一个 session ,而后 用 wget 命令 下载一个文件。这时,若是退出此 session (好比 网络掉线) 了,那么 wget 会依旧跑在此 session 里。再次 ssh 链接到服务器的时候,查看 screen 的 session 列表,会发现刚才启动的 session 还在。进入它以后,发现 wget 下载过程还在继续:并未由于你的网络掉线而中断。shell

原理:wget 成为了 screen session 的子进程。ubuntu

相似软件:tmux (为何不用 tmux ?命令太难记了!)服务器

配置办法:
1.安装 screen网络

sudo apt-get install screen

2.配置 screen
nano ~/.screenrc 写入session

startup_message off
autodetach on
nonblock on
vbell off
vbell_msg "Bell on %t (%n)"
shell -$SHELL
caption always "%{= KW}screen -d%{= WK} Detach   %{= KW}ctrl+a+d%{= WK} Detach   %{= KW}screen -r a%{= WK} Resume   %{= KW}exit%{= WK} Destroy   %{= KW}screen -ls%{= WK} List"

重启ssh

pkill screen
screen -ls

图片描述

3
例子:进入并启动 wget 测试

测试大文件 下载spa

ssh -p 22 abc@117.71.214.157
screen -ls
screen -S a
screen -d
screen -ls
screen -r a
cd ~/Downloads
ls
wget http://releases.ubuntu.com/16.04/ubuntu-16.04.6-desktop-amd64.iso

4
经常使用命令code

screen -ls ## 查看 sesson 列表
screen -S a ## 开启一个 名为 ‘a’ 的 session
screen -r a ## 进入一个 session ( resume a session )
screen -d   OR ctrl+a+d  ## 离开一个 session ( detach a session )
exit ## 进入一个 session 以后 销毁本 session

-blog