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的名字
上一篇下一篇

猜你喜欢

热点阅读