Linux多重视窗管理命令screen

本文首发于我的个人博客:Suixin's Blog
原文: https://suixinblog.cn/2018/11/screen.html作者: Suixin
在日常的编码中肯定需要登录到远程Linux服务器,经常需要在上面运行一些需要很长时间才能完成的任务,如:传输文件、跑爬虫代码等,需要保证退出服务器的连接,该任务也不会终止掉。使用nohup命令已经可以完成一些较为简单的任务(nohup:在Linux服务器后台跑程序),但真正的多会话管理还是要用到screen命令。
一般的Linux系统都自带screen命令,所以无需手动安装。
常用参数
  • -S:后加作业名称新建一个screen作业;
  • -ls-list:列出目前的所有screen作业;
  • -d:后加作业名称远程使该作业离线;
  • -r:后加作业名称恢复该离线的作业;
  • -wipe:删除已经无法使用的作业。
快捷键 进入一个screen session后,可能你开始跑一些程序,这时不能在命令行输入任何东西,就需要使用快捷键来操作。这里所有的快捷键都是以Ctrl+A开头的(Mac也是?+A而不是?+A)。
  • Ctrl+A+D:detach当前session,会将当前的session任务放到后台执行,回到还没进入当前session的状态,即使断开远程连接session也不会中断(最常用);
  • Ctrl+A+T:在底线显示当前时间以及登入时间;
  • Ctrl+A+K:强行关闭当前的window;
  • Ctrl+A+W:显示所有window列表;
  • Ctrl+A+X:锁定当前window,需要用用户密码解锁。
经典使用方式
# 新建suixinPython作业 screen -S suixinPython # 在新作业中运行长时间的代码 python test.py # 使用快捷键detach当前session ?+A+D # 退出ssh连接 exit # 重新链接服务器 ssh root@…… # 恢复suixinPython会话 screen -r suixinPython

参考
【Linux多重视窗管理命令screen】https://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html

    推荐阅读