事情是这样的,需要使用ssh登陆服务器,进行工程的编译,结果不知道什么原因ssh出现write failed:broken pipe,掉线了。反复实验了好几次还是这样(白花花的时间啊,又是configure又是make的),掉线的结果当然是需要重新登陆,然而正因为如此,之前编译的相当于中断了。有没有办法,让ssh掉线,但是之前的命令依然继续执行呢。

经过同事的指点,找到相应的命令screen。

使用telnet或SSH远程登录linux时,如果连接非正常中断,重新连接时,系统将开一个新的session,无法恢复原来的 session.screen命令可以解决这个问题。Screen工具是一个终端多路转接器,在本质上,这意味着你能够使用一个单一的终端窗口运行多终端的应用。[1]

换言之,我在ssh登陆到服务器时,在服务器上使用screen -S zrss,创建一个zrss名称的session,然后在这个session中进行工程的编译,这样即使断线,在服务器session中的命令还在运行。

如果之前断线了,再次ssh登陆服务器后,使用screen -ls可以知道,有几个session,如果session状态为detached,使用命令screen -r zrss即可,或者是进程ID,即可回到之前窗口。

zrss@pc:~$ ssh zhuang2@pek-lpgtest2.wrs.com
zhuang2@pek-lpgtest2.wrs.com's password:
Last login: Fri Jul :: from pc.corp.ad.wrs.com
[zhuang2@pek-lpgtest2 ~]$ screen -S zrss
[zhuang2@pek-lpgtest2 ~]$ ls
总用量
-rw-r--r-- zhuang2 users 7月 : intel-x86--bzImage-WR6.0.0.0_standard
-rw-r--r-- zhuang2 users 7月 : intel-x86--glibc-std-standard-dist.tar.bz2
[zhuang2@pek-lpgtest2 ~]$ Write failed: Broken pipe
zrss@pc:~$ ssh zhuang2@pek-lpgtest2.wrs.com
zhuang2@pek-lpgtest2.wrs.com's password:
Last login: Fri Jul :: from pc.corp.ad.wrs.com
[zhuang2@pek-lpgtest2 ~]$ screen -ls
There are screens on:
.pts-.pek-lpgtest2 (Detached)
.zrss (Detached)
Sockets in /var/run/screen/S-zhuang2. [zhuang2@pek-lpgtest2 ~]$ screen -r zrss

在screen中输入exit即可终止session

[1]http://soft.chinabyte.com/os/277/12383277.shtml

[2]http://www.vpser.net/manage/screen.html

避免ssh断开导致运行命令的终止:screen的更多相关文章

  1. Linux 将进程放入后台执行,解决网络,ssh断开导致进程结束(nohup, setsid, &, disown)

    Linux 将进程放入后台执行,解决网络,ssh断开导致进程结束(nohup,  setsid,  &, disown) 1.nohup 命令 我们知道,当用户注销(logout)或者网络断开 ...

  2. SSH登录之后运行命令报错的解决办法-- Failed to connect to Mir: Failed to connect to server socket: No such file or directory

    问题描述: Failed to connect to Mir: Failed to connect to server socket: No such file or directory 解决方案: ...

  3. 断开ssh链接在后台继续运行命令

    转载:http://blog.csdn.net/v1v1wang/article/details/6855552 对于linux运维,我们都是使用ssh登录到服务器,如果我们运行的任务需要很长时间或不 ...

  4. linux ------ 使用 screen 后 SSH 断开后程序依旧能在后台运行

    为什么ssh断开后你运行的进程会退出呢? 因为所有进程都得有个父进程.当你ssh到一个服务器上时,打开的shell就是你所有执行命令的父进程. 当你断开ssh连接时,你的命令的父进程就没了.如果处理不 ...

  5. Matlab R2017b 打开后一直显示“正在初始化”,导致无法运行命令

    1. 前言 Matlab R2017b打开后一直显示"正在初始化",导致无法运行命令. 2. 解决方案 1. 找到并记录授权文件license_standalone.lic的路径. ...

  6. 如何实现SSH断开后 进程仍然在后台运行

    1.nohup命令功能:不挂断地运行命令,忽略HUP信号.语法:nohup command & 实例:nohup ping www.google.com & 转自: http://bl ...

  7. Linux 后台运行命令:nohup 和 &

    [参开文章]:nohup 与 & 的区别 1. nohup 1.1 基本概念 将程序以忽略挂起信号的方式运行起来: 不可以免疫 Ctrl + C  的 SIGINT 中断信号: 可以免疫 SI ...

  8. Windows CMD常用命令大全 运行命令

    http://blog.163.com/lixunhuan@126/blog/static/122060620075124142658/ CMD命令大全 net use \\ip\ipc$ " ...

  9. nohup 后台运行命令

    在Linux上部署zipkin,在SSH客户端执行java -jar zipkin-server-1.21.0-exec.jar,启动成功,在关闭SSH客户端后,运行的程序也同时终止了,怎样才能保证在 ...

随机推荐

  1. Cmake find_package()相关

    也就是find_package可以帮助直接找到库的头文件和库文件(.lib,dll .etc) References: http://blog.csdn.net/dbzhang800/article/ ...

  2. Linux中应用程序如何使用系统调用syscall

    最近在做Android,其中一个任务是写一个能在Linux命令行运行的测试AP,运行这个AP就能关闭设备电源,即Power Off. 在 Linux内核中已经找到了关闭电源的函数kernel_powe ...

  3. Codeforce 215 div1

    C 把每个qi看成点,则问题转化为:求一个最大的k,遍历k个点的完全图需要的最小步数+1不超过n, (这里+1的原因是把起点加进去) 讨论k的奇偶: k为奇数,每个点度数为偶数,这是一个欧拉回路,步数 ...

  4. 从有限状态机的角度去理解Knuth-Morris-Pratt Algorithm(又叫KMP算法)

    转载请加上:http://www.cnblogs.com/courtier/p/4273193.html 在开始讲这个文章前的唠叨话: 1:首先,在阅读此篇文章之前,你至少要了解过,什么是有限状态机, ...

  5. <php>统计整个文件夹的大小

    //用来统计一个目录下大小 function dirsize($file) { $size = 0; $dir = opendir($file); while($filename = readdir( ...

  6. Quartz集成springMVC 的方案二(持久化任务、集群和分布式)

    Quartz是一个开放源码项目,专注于任务调度器,提供了极为广泛的特性如持久化任务,集群和分布式任务等. Quartz核心是调度器,还采用多线程管理. 1.持久化任务:当应用程序停止运行时,所有调度信 ...

  7. Appium 点击Android屏幕

    用driver.tap(1, 10, 10, 800); 点击屏幕,经常提示:An unknown server-side error occurred while processing the co ...

  8. .NET基础拾遗(4)委托为何而生?

    生活中的例子: 你早上要吃包子作为早饭,那么你可能让你爸爸或者妈妈帮你做,那你就会调用 爸爸.要包子() 或妈妈.要包子() 返回包子对象. 但是如果你爸妈不在家的时候,你只能去街上买,问题是你根本不 ...

  9. DEV GridControl 导出到Excel

    SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Title = "导出Excel"; sa ...

  10. 使用xdebug+eclipse远程调试centOS7上的PHP代码

    这两天一直在研究PHP代码的调试,原来开发一直用的var_dump,麻烦! 最近发现能使用xdebug+eclipse远程单步调试PHP,但是百度后实现此技术的文章都写得不够具体. 我照着这里零散的文 ...