前两天看到一个同事通过远程连接服务器编译时,十分害怕死机导致前功尽弃,我知道一个简单的办法解决这个问题,使用screen命令。
简单介绍一下screen,screen是GNU的全屏窗口管理器,可以在一个物理终端上虚拟几个虚拟终端的效果。screen十分强大,可以定制,我就用它的虚拟窗口的功能,别的真知道的不多,有兴趣的同学可以研究。就说怎么在编译时用这个命令吧,做个实验来说明screen在编译大工程是的用法吧,实验过程:
1.登录服务器,键入screen,这是就进入了一个新的session,然后ctrl-a d,这叫detach,这样就回到了登录时的session,此时可以重复上边的操作,建立几个session
用screen -ls查看,可以看到建立的session。如我建立了4个session,并且都detach了。
2.进入一个session,用screen -r pid,pid就是ls出来的session最前面的数字。进入后再-ls就看到后面的detach变成atached,
在这个session进行编译,编译个内核
3.关闭终端
4.重新登录,用screen -r pid恢复你刚才推出的session,编译还在进行
这样就不怕ssh的意外退出了。screen同样适用于打开一个session进行编译,ctrl-a d,在登录的session中进行其他工作,省得再打开一个ssh登录了。
关闭session用exit命令就行了。
希望对大家有帮助,对screen强大功能感兴趣的同学可以google之。
ps:使用linux的同学不要把linux就当作一个编译器,别总看内核的书,买本系统管理的书看看是很有好处的,推荐LSH,linux之父称之为linux真正的宝典