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

参考

https://www.cnblogs.com/mchina/archive/2013/01/30/2880680.html

    原文作者:就是suixin
    原文地址: https://www.jianshu.com/p/be7c56b0fe7e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞