screen工具
Screen 是一款由 GNU 计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换,可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
也就是说 screen 创建了一个新的会话,并时刻记录这会话的输出,同时也能把在当前会话中显示;用户退出并不影响 screen 创建的会话,从而实现后台一直运行
# 安装
yum install screen
# 列出当前所有session
screen -ls
# 恢复到某个会话
screen -r {sessionName|pid}
# 创建名为{sessionName}的会话,立即进入
screen -S {sessionName}
# 创建名为{sessionName}的会话,后执行一条命令,且不进入
screen -dmS {sessionName} [shell command]
# 创建名为{sessionName}的会话,后执行一条命令,名字自动命名为[pid.]tty.host
screen [shell command]
# 检查目前所有的screen作业,并删除已经无法使用的screen作业
screen -wipe
在每个 screen 下,可以通过下面的快捷键来进行管理多个 shell(窗口)。注意按键的触发方式:ctrl+a 后松开,再按一次命令键
ctrl+a d
放到后台,切回到用户会话ctrl+a k
杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程ctrl+a c
创建新的 shell,多个 shell 通过 ca 0~9,a,n,p 进行切换ctrl+a w
显示所有窗口列表ctrl+a |
左右分屏ctrl+a TAB
在分屏中跳转
Tmux工具
和 screen 用法相似,不过更厉害,快捷键更多.
# 安装
yum install tmux
# 新建
tmux new -s {sessionName}
# 恢复
tmux a -t {sessionName}
tmux ls
基本操作同 screen,注意按键的触发方式:ctrl+b 后松开,再按一次命令键。分为三类,分为会话操作,窗口操作,面板操作
ctrl+b d
放到后台,切回到用户会话ctrl+b c
创建一个 shell,在底部的 tab 中可以看到有几个 shell 在运行ctrl+a 0~9|w
多个 shell 中切换,ctrl+a %
左右分屏ctrl+a o
在分屏中跳转
另一种思路是使用 terminal multiplexer (终端复用器:在同一个终端里面,管理多个session),典型的就是 Screen 命令和 Tmux 命令。
它们可以在当前 session 里面,新建另一个 session。这样的话,当前 session 一旦结束,不影响其他 session。而且,以后重新登录,还可以再连上早先新建的 session。
Screen 的用法如下。
# 新建一个 session $ screen $ node server.js
然后,按下ctrl + A
和ctrl + D
,回到原来的 session,从那里退出登录。下次登录时,再切回去。
$ screen -r
如果新建多个后台 session,就需要为它们指定名字。
$ screen -S name # 切回指定 session $ screen -r name $ screen -r pid_number # 列出所有 session $ screen -ls
如果要停掉某个 session,可以先切回它,然后按下ctrl + c
和ctrl + d
。
Tmux 比 Screen 功能更多、更强大,它的基本用法如下。
$ tmux $ node server.js # 返回原来的session $ tmux detach
除了tmux detach
,另一种方法是按下Ctrl + B
和d
,也可以回到原来的 session。
# 下次登录时,返回后台正在运行服务session $ tmux attach
如果新建多个 session,就需要为每个 session 指定名字。
# 新建 session $ tmux new -s session_name # 切换到指定 session $ tmux attach -t session_name # 列出所有 session $ tmux list-sessions # 退出当前 session,返回前一个 session $ tmux detach # 杀死指定 session $ tmux kill-session -t session-name
No comments:
Post a Comment