前提
最近写了个Python脚本想要在服务器上跑,但是我发现只要ssh断开脚本马上就会关闭,所有就有了screen命令.
Screen使用场景
在Linux中,我们经常会做一些关于数据的操作(备份、传输、压缩等)或是要在后台持续的运行一些程序。由于,工作的数据量很大或者工作要持续很长的时间,我们就必须保证这个终端的启动,一旦终端关闭了,它所运行的进程也会关闭,我们所做的工作就可能前功尽弃。但是,即使我们不主动的关闭终端,终端有的时候也会应为一些原因(网络、锁屏等)而中断,导致我们的工作进度清零。
安装Screen
- 检查主机是否有screen
type screen
- 安装screen
yum install screen
常用Screen命令(注意大小写)
- 创建screen会话
screen -S 名字
- 退出screen会话
ctrl a+d
- 进入指定的screen会话
screen -r 名字
- 查看所有的screen会话
screen -ls
- 删除screen会话
screen -X -S 名字
Screen参数
-A 将所有的视窗都调整为目前终端机的大小。
-d <作业名称> 将指定的screen作业离线。
-h <行数> 指定视窗的缓冲区行数。
-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称> 恢复离线的screen作业。
-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s 指定建立新视窗时,所要执行的shell。
-S <作业名称> 指定screen作业的名称。
-v 显示版本信息。
-x 恢复之前离线的screen作业。
-ls或--list 显示目前所有的screen作业。
-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
本文作者: 双Ge’s Blog