screen常用命令
1. 背景
由于经常使用ssh登录实验室的服务器训练神经网络, 而一些复杂的神经网络模型需要长时间训练,在此期间,如果出现网络等原因出现链接中断的话,服务器的进程也会被杀死,之前的一切半途而废。利用screen可以很好地解决这一问题。
2. 安装
CentOS系统可以执行:yum install screen
Debian/Ubuntu系统执行:apt-get install screen
3. 使用
screen -S [NAME]
例如:
screen -S gan-pytorch
随后进入screen窗口gan-pytorch, 在这个窗口里执行的程序都将是screen里的程序。
1. 挂起:Ctrl+a+d(先按住Ctrl和a,在按d)
挂起即暂时离开screen,也就是说,之后即便你的电脑与服务器中断链接也不影响进程的运行。
那么我们怎样恢复screen呢?
2. 恢复:screen -r [ID]
ID指的是进程的ID,每个进程都有唯一的ID, 查看ID的方法如下:
3. 查看:screen -ls

图中的27064、26962就是进程的ID
4. 杀死:screen -X -S [ID] quit
5. 批量杀死:
如果你的系统里有多个session同时在运行,我们也可以通过组合命令,一次全部退出
screen -ls | grep -i detached | cut -d. -f1 | tr -d [:blank:]| xargs kill
screen -ls | grep Detached | cut -d. -f1 | awk ‘{print $1}’ | xargs kill
如果您的pid都是五位数的话
screen -ls | grep -o "[0-9]\{5\}" | xargs kill
这两行命令的意思都差不多,通过管道,找到每个session的pid,然后作为 kill的参数,直接杀掉该进程
screen -ls : 列出所有的screen session
grep Detached : 过滤出Detached的session
cut -d. -f1 :用.分割,取第一部分,也就是 pid
awk和tr都是去掉前面的空白符的
xargs :就是把每一行作为 kill 的参数执行
4. 不保存文件,直接在screen翻页
[Ctrl] + [A],再按[ESC],进入复制模式,默认翻页快捷键是[Ctrl]+[F],[Ctrl]+[B].
退出复制模式:按[ESC].
5. 使用screen恢复会话时出现There is no screen to be resumed matching错误解决办法
有时在恢复 screen 时会出现 There is no screen to be resumed matching ****,遇到这种情况咋办呢?输入命令
screen -d ****
然后再使用恢复命令恢复就 ok 了。
6. 更新......
此文也许会不定期更新,如果需要用的新的screen命令的话......
screen常用命令的更多相关文章
- Linux screen 常用命令
想必,只要接触过Linux一段时间的人,一定知道screen这个神奇的工具了,它主要有如下些优势: 1. 后台运行:当你在ssh terminal执行shell时,如果网络这时断开,你的程序会怎样?T ...
- Screen 常用命令+VNC 启动停止命令总结
screen -S 名称:创建一个新的会话 screen -r 会话ID:恢复一个Detach状态的会话 screen -xr 会话ID:强制恢复一个Attach状态的会话,常用于掉线时上次的会话没有 ...
- conda / cuda / screen 常用命令总结
记录一些常用的 conda / cuda / screen 相关的命令,这些在跑深度学习代码时经常用到. conda 下面的命令在 Ubuntu 下的 4.8.3 版本 conda 均正确工作. 查看 ...
- screen 常用命令
screen -r <id | name> # 进入 screen C-a c # ctrl+a + c , 新建screen窗口 C-a A # ctrl+a + A, 命名scree ...
- linux的screen常用命令使用记录
新建screen screen 或者 screen -S name - name用于指定一个screen的名字,默认系统随机 暂时退出当前screen ctrl + a + d - 同时按住这三个键即 ...
- shell常用命令归类整理
shell 命令整理 bash shell 含有许多功能,因此有许多可用的命令:本文档仅罗列了一些常用命令及其使用频率较高的参数.#本文档仅罗列了一些常用命令及其使用频率较高的参数.#vers ...
- 实用手册:130+ 提高开发效率的 vim 常用命令
Vim 是从 vi 发展出来的一个文本编辑器.代码补完.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用.和 Emacs 并列成为类 Unix 系统用户最喜欢的编辑器.这里收录了130+程 ...
- sqlplus常用命令
原文 sqlplus常用命令 desc 表名 显示表的结构 show user 显示当前连接用户 show error 显示错误 sho ...
- Linux常用命令速查备忘
Linux常用命令速查备忘 PS:备忘而已,详细的命令参数说明自己man 一. 启动,关机,登入,登出相关命令 [login] 登录 [logout] 登出 [exit] 登出 [shutdown ...
随机推荐
- JavaScript如何获取/计算页面元素的offset?
问题 通过点击一控件,在控件的下面显示一个浮动层,通常的做法是:获取此控件的offset值,再计算出浮动层的top,left等css属性的值,赋值即可. 那么下面就看一下如何获取控件的offset值 ...
- java开发常用的Linux命令
原文:https://www.cnblogs.com/not-alone/p/8505925.html 1.查找文件 find / -name filename.txt 根据名称查找/目录下的file ...
- .NET:负载平衡的主意事项
允许局域网发现和共享. 设置固定IP. 网站的IP设置为“全部未分配”. 注意:如果停止IIS的话,不会对负载平衡有影响,负载还是会分配停止了的IIS所在在的电脑,只有停止服务器了,负载不会再分配给停 ...
- Android 获得view的宽和高
转自:http://blog.csdn.net/yangdeli888/article/details/25405263 在oncreate()中利用view.getWidth()或是view.get ...
- GO语言 -- 调用DLL函数,填平所有的坑,最详尽攻略
编译dll文件(源代码c++):g++ -shared main.cpp -o test.dll set GOARCH=386 第一个DLL函数,第一个参数,要求传入一个指针,直接指向[]byte类型 ...
- zendframework配置篇
1. 重写配置 httpd.conf配置修改 LoadModule rewrite_module modules/mod_rewrite.so <Directory "D:\PHPPr ...
- 【GISER && Painter】矢量切片(Vector tile)番外一:Proj4js
说明:番外篇是对正篇矢量切片(Vector tile)中提到的一些值得继续延伸的关注点继续进行探索和学习,所涉及的内容以解决实际问题为主要导向. 一.新的需求? 在完成了矢量切片的工作后,新的需求出现 ...
- OpenShift DNS的机制
为什么不直接用kube-dns? 为什么不直接用kube-dns? 为什么不直接用kube-dns? 感谢各位前辈的专研,在下午有限的时间里把Openshift DNS的机制理了一下.更详细的材料大家 ...
- iOS:删除storyBoard,纯代码实现UITabBarController的视图切换功能
storyboard是一个很强大的编写代码的辅助工具,可以帮助布局多个视图之间的联系,既直观又能减少代码量:但是,作为一个程序员,在不使用storyboard的情况下,纯代码编写是必须的技能. 下面就 ...
- hadoop压缩框架
一般来说,计算机处理的数据都存在一些冗余度,同时数据中间,尤其是相邻数据间存在着相关性,所以可以通过一些有别于原始编码的特殊编码方式来保存数据,使数据占用的存储空间比较小,这个过程一般叫压缩.和压缩对 ...