Linux screen 用法
2021-12-08 本文已影响0人
ayunga
在Linux上运行一些需要很长时间才能完成的任务时(比如系统备份、ftp 传输等等),通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。screen软件可以帮助我们处理这些问题。
创建/离开/返回screen session
$ screen #创建一个新session, 名字由系统给定
$ screen -S big #新建一个叫 big 的session
$ screen -ls #列出当前所有的session
CTRL+a+d #detach,暂时离开当前session,将其丢到后台,此时每个process都在继续执行,即使 logout 也不影响。
$ screen -r big #回到 big 这个session
删除screen session
## 两种方法
##(1)不用考虑当前 session 是 Attached 或者是Detached状态,直接删除
$ screen -ls
There is a screen on:
31068.pts-16.loginb2 (Attached)
$ screen -S 31068 -X quit
##(2)在Attached状态下,还可以用exit直接删除并退出当前session
$ exit
有时进程已经不能用了,需要删除
$ screen -ls
There is a screen on:
31068.pts-16.loginb2 (Dead ???)
Remove dead screens with 'screen -wipe'.
$ screen -wipe
There is a screen on:
31068.pts-16.loginb2 (Removed)
1 socket wiped out.
在session之间切换
假如你开了2个session,你可以直接从一个session,切到另一个session中
$ tmux ls
0: 1 windows (created Wed Dec 8 10:29:41 2021) #冒号前的是该session的名字,即 “0”
1: 1 windows (created Thu Dec 9 10:03:50 2021) (attached)
$ tmux switch -t 0 ##0 是要切进去的session的名字