关闭ssh会话后,执行的任务也跟着关闭怎么办?别担心,screen来解决
问题描述
最近入手了一个树莓派,想着不在家的时候也能连接上做一些练习,奈何租住的公寓是内网环境,需要做一个内网穿透。一开始不清楚公寓提供的拨号网络是不是直连外网的,所以试着用了一下noip,结果失败了。查询资料后发现了cpolar能够实现这一需求,所以就要通过ssh连接树莓派来开启cpolar(本人没有显示屏,树莓派都是ssh连接),发现关闭putty终端后,cpolar也跟着关闭了。
着手解决
screen介绍
可以通过screen来实现退出ssh连接后任务保持运行状态。screen可以创建出一个虚拟的终端,独立于你登录的这个终端。
screen安装
sudo apt-get install screen
使用
1、创建一个虚拟终端,
使用putty等登录树莓派后执行
screen -S terminal1
这样就创建好一个名为terminal1的终端了,此时我们可以随便执行操作了。
按ctrl+a
后再按d
就保存好一个虚拟终端了,系统会提示deatached
这时候我们的SSH什么的可以完全断开不管了,让虚拟终端自己运行去吧。
2、访问已经创建好的终端
screen -ls
可以列出已经创建的正在后台运行的终端
screen -r 终端名
可以进入之前创建的终端
3、彻底退出
如果一个虚拟终端中的程序执行完毕了,先通过screen -r 终端名
进入这个终端后再执行exit
就完全退出了。