人生到处知何似?应似飞鸿踏雪泥。泥上偶然留指爪,鸿飞那复计东西。

Linux操作系统下Screen命令的简单使用方法

上一篇 / 下一篇  2007-07-28 00:54:47

查看( 30 ) / 评论( 1 )
有时候我们经常需要登录远程服务器运行一些程序,如果这些程序需要运行很长时间(几个小时),而程序运行过程中出现网络故障,或者客户机故障,这时候客户机与远程服务器的链接将终端,并且远程服务器没有正常结束的命令将被迫终止。

解决此问题的最简单的方法是nohup,但是nohup也有很多的问题,有了screen,这一切便都迎刃而解了。

screen其实就是linux虚拟终端,你可以用它创建很多虚拟终端,每个终端可以创建1~10个窗口,每个窗口相当于一个linux shell窗口,可以执行的操作和正常shell完全一样。

【终端操作】 (需要在物理shell中操作)

screen:创建一个虚拟终端并且登录之

screen -ls:列出当前所有虚拟终端

screen [-d] -r sessionid:进入指定的虚拟终端



【终端中的窗口操作】(挂载某个终端)

Ctrl+a c :创建窗口

Ctrl+a w :窗口列表

Ctrl+a n :下一个窗口

Ctrl+a p :上一个窗口

Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换

Ctrl+a K(大写) :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)

exit :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)

Ctrl+a d :退出当前终端,返回加载screen前的shell命令状态

如何关闭一个终端?
如果需要关闭一个终端,可以先进入此终端,然后将所有窗口关闭,当所有窗口都关闭的时候,终端自动关闭,并且出现“[screen is terminating]”。


【友情提醒】
使用screen创建的虚拟终端虽然实用上大大提高工作的安全性,但是,如果终端创建得太多,很容易让人找不到原来的程序在哪个终端中的哪个窗口中执行,令人迷惑,所以,终端的数目不宜创建过多,并且要时刻记住您程序所运行的具体终端、窗口。


TAG:

飞鸿踏雪的技术博客 飞鸿踏雪 发布于2007-07-28 00:57:10
你可以试一下

新建一个SCREEN
root@lucky5 root]# screen
=============================

列出所有SCREEN
[root@lucky5 root]# screen -ls
There is a screen on:
1232.pts-7.lucky5 (Attached)
1 Socket in /root/.screen.

=============================
断开你所在的SCREEN, -d表示detach
[root@lucky5 root]# screen -d
[remote detached]

=============================
再显示所有的SCREEN,注意模式改为DETACHED了
[root@lucky5 root]# screen -ls
There is a screen on:
1232.pts-7.lucky5 (Detached)
1 Socket in /root/.screen.

=============================
重新连接之前断开的SCREEN,-r表示reattach
[root@lucky5 root]# screen -r 1232.pts-7.lucky5
如果你只有一个SCREEN,光-r就够了,如果有多个SCREEN,必须指明重新连接上哪个.

=============================
多个SCREEN
[root@lucky5 root]# screen -ls
There are screens on:
1232.pts-7.lucky5 (Attached)
1351.pts-1.lucky5 (Attached)
2 Sockets in /root/.screen.

=============================
如果现在你关闭SSH客户端,重新登陆后你还是能再连接上SCREEN的
[root@lucky5 openldap]# screen -ls
There are screens on:
1232.pts-7.lucky5 (Detached)
1351.pts-1.lucky5 (Detached)
2 Sockets in /root/.screen.

============================
Ctl+d to terminate a screen.
我来说两句

(可选)

数据统计

  • 访问量: 802
  • 日志数: 33
  • 图片数: 1
  • 书签数: 1
  • 建立时间: 2007-01-28
  • 更新时间: 2007-08-05

RSS订阅

Open Toolbar