查看帮助:screen --help
建立一个session:
screen -S name1 #name1是自己取的易于标记的名字
建立第二个session:
screen -S name2
查看有多少个screen:
screen -ls
退出session:
Ctrl+a+d
退出之后,如果是程序还在运行,那么程序是不会被关闭的,会一直运行。
在screen下跑程序的好处在于,当按住ctrl+a+d退出之后(一定要记得退出screen),程序会一直在跑,这个时候相当于在服务器上运行程序,此时就算是断网或者xshell关闭了也没有关系,会一直在服务器跑。而如果不是打开screen的话,那么断网程序就结束了。因此在screen运行程序的操作如下:1,先建立一个screen session 2,在screen session上跑程序 3,退出session,将状态变成detach(之所以要退出,是因为如果不退出出现断网的情况时,程序就无法运行了)
重新进入session
在进入screen之后,基本上所命令都是Ctrl+a开头
当退出session后,可以通过screen -ls查看有多少screen,然后选择进入,进入name1的方法为:
screen -r name1
而如果是已经attached的窗口,可以通过如下回去:
screen -D -r name1
此时进入了某个session,然后可以在session中建立多个window,方法为:
ctrl+a+c #create
在每个window中可以执行命令等用途,
查看session中的window
Ctrl+a+w #windows
出现如下文字:
0$ bash 1-$ bash 2*$ bash
表明打开了三个window,其中*号表示当前位于窗口2,- 号表示上一次切换窗口时位于窗口1。
切换到指定window:
ctrl+a+数字 #如上面三个window要进入第0个,将“数字”写为0即可
切换不同的window:
ctrl+a+n/p(下/上一个window) #next/previous
杀掉当前窗口windows
ctrl+a k #kill (先按ctrl+a,松手,按k)
or
ctrl+a ctrl+k
杀掉当前任务下所有窗口并退出(quit)
ctrl+a \ #kill (先按ctrl+a,松手,按\)
关闭某个session任务
kill xxxx (xxxx表示ID,可以通过screen -ls查看ID)
关闭所有screen下的session任务
(多一句废话:这样会把screen -ls下看到的所有任务都杀掉)
killall screen
查看正在跑的程序
top