screen命令

screen 可以看作是窗口管理器的命令行版本。可以同时管理多个会话。

screen 命令可以让会话保持在后台脱离终端,这使得screen在操作长时间任务(比如备份等)时非常有用,关闭终端而不会终止任务。

常用选项

-d|-D [pid.tty.host]:分离screen会话。
-r [pid.tty.host]:resumes a detached screen session. 恢复一个screen会话。
-S sessionname:When creating a new session, this option can be used to specify a meaningful name for the session. 创建screen会话时,指定会话名称。
-x:Attach to a not detached screen session. (Multi display mode). 加入会话,用于会话共享。

-ls [match] | -list [match]:列出所有会话。
# screen -ls
There is a screen on:
	26920.pts-1.aliyun	(Attached)
1 Socket in /var/run/screen/S-root.

# screen -d 26920.pts-1.aliyun
[26920.pts-1.aliyun detached.]

# screen -ls
There is a screen on:
	26920.pts-1.aliyun	(Detached)
1 Socket in /var/run/screen/S-root.

# screen -r 26920.pts-1.aliyun

退出screen会话

exit 或者 ctrl+d 

退出一个 detached 状态的会话

screen -X -S [session # you want to kill] quit

如果一个会话意外中断,界面退出状态却没有分离,这时可以通过 screen -d 先将会话远程分离,再 screen -r 进入会话即可。

会话共享

这里需要是同一账号在不同的终端登录加入同一个会话。加入同一会话后就能共享屏幕了,可以看到多终端同步操作。

screen -S sessionname    建立会话
screen -x sessionname    加入会话

快捷键

screen 会话的快捷键都以 ctrl+a 开头。

ctrl+a+d | C-a C-d 分离会话
ctrl+a+k | C-a C-k Destroy current window. 关闭当前窗口,即结束当前screen会话。

参考:

posted @ 2017-06-13 04:15  KeithTt  阅读(264)  评论(0编辑  收藏  举报