screen命令使用的场景
由于疫情在家远程办公,需要在Linux远程服务器中下载android源码,本地用的ubuntu连接远程这台电脑,由于android的源码很庞大下载时间非常长(夸张的是曾经下过2个星期也没下下来),由于,数据量很大和工作要持续很长的时间,本地终端的启动,一旦此终端关闭了,它所运行的进程也会关闭,远程的下载也会断掉,就想到用screen在后台运行的方式处理此类问题。
screen安装
远程服务器ubuntu使用的18.04版本,打开终端输入:screen
首次的话会提示安装:apt install screen,用命令安装即可。
1:自定义一个叫yourname的session
screen -S yourname
2.到下载源码的目录执行循环下载的shell脚本,例如:auto_download.sh,执行./auto_download.sh &(注意:执行命令auto_download.sh后面的:空格+&不要漏掉,表示在后台运行哦,假如漏掉了也是可以补救的输两个命令:1.按键盘ctrl+z,2.bg)。
其中auto_download.sh内容:
#!/bin/bash
repo sync -j8
while [ $? -ne 0 ]
do
repo sync -j8
done
3.查看后台任务是否在运行输入
jobs -l
4.查看当前进程echo$$记录下来,下次登进来的时候比对
5.退出当前screen
screen -d
断开本地中端窗口,就实现了远程后台控制下载了
等待几个小时后,再想连上去看看下载情况
在远程端输入命令:
screen -r yourname
回到之前的session,要想查看下载进度要下载的进度回到前台输入fg就能查到了