课程咨询 :025-84812726

  • linux技巧-使用screen管理你的远程会话

    发布:南京linux培训      来源:南京linux培训      

  • 达内南京linux培训专家带大家了解一下linux技巧-使用screen管理你的远程会话。

    当我们用ssh或是telent远程登录到linux服务器上,运行一些长时间的任务,必须等待任务完成才能离开该界面。在此期间不能关闭窗口或者断开连接。否则这个任务的进程就会别杀掉,一切半途而废,需要重新执行该任务。

    如何解决这个问题?

    首先来理解几个概念:

    进程组:一个或多个进程的集合,每个进程组有唯一一个进程组ID,即进程组长进程的ID

    会话期:一个或多个进程组的集合,有唯一一个会话期首进程,会话期ID为首进程的ID

    会话期可以有一个单独的控制终端,与控制终端连接的会话期首进程叫控制进程,当前与终端交互的进程为前台进程。

    挂断信号默认的动作为终止程序

    当终端借口检测到网络连接断开,将挂断信号发送给控制进程

    如果会话期首选进程终止,则该信号发送到该会话期前台进程组

    一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组处于stop状态,发送SIGHUP和SIGCONT信号到该进程组的所有进程。

    因此,当网络断开或终端窗口关闭后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出

    方法一:nohup 

    #nohup  command  &

    方法二:screen

    creen 是一个可以在多个进程间多路复用一个物理终端的窗口管理器。

    使用方法:

    (1),[xuefeng@ku6]# screen

    screen将创建一个执行shell的全屏窗口,你可以执行任意shell,就像在ssh窗口一样。

    (2),[xuefeng@ku6]#screen vi abc

    screen创建一个执行vi  abc的单独窗口会话,退出vi 将退出该窗口

    (3),还可以在已有screen会话窗口中创建新的窗口,在当前sceen窗口中键入C-a  c,即Ctrl+a,再按下c键。重新控制各窗口中运行的程序。

    例如:在一个screen窗口中编辑vi /tmp/abc,之后需要作另外的事情,那么可以在screen窗口键入C-a  d,screen会提示暂时中断会话。继续前一个会话,#screen -ls  查看会话编号。重新连接screen -r   编号。

上一篇:Linux下core文件相关

下一篇:Linux管道及重定向

最新开班日期  |  更多

 Linux--零基础全日制班

Linux--零基础全日制班

开班日期:04-28

Linux--全日制班

Linux--全日制班

开班日期:04-28

Linux--零基础周末班

Linux--零基础周末班

开班日期:04-28

Linux--周末班

Linux--周末班

开班日期:04-28

  • 地址:南京市龙蟠中路30号东来商务中心A座5楼
  • 课程培训电话:025-84812726     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56