参数 | 说明 |
---|---|
ls | 列出当前所有的回话 |
S | 大写的S,新建一个名称是xxx的会话 |
r | 通过序号连接进程会话 |
d | detach断开某个会话 |
D | 与-d命令相同,但是会logout原来在screen里的用户 |
在每个screen 会话下,所有命令都以 ctrl+a开始的
参数 | 说明 |
---|---|
ctrl+a d | detach会话,将目前的 screen session 丢到后台执行,并会回到还没进 screen 时的状态,screen 都在继续执行,即使 logout 也不影响后台的执行 |
ctrl+a k | 强行关闭当前的窗口 |
ctrl+a z | 把当前的会话放到后台执行,用fg命令可以调回来 |
screen 使用
先模拟一个需要执行很长时间的脚本代码
test.php <?php sleep(10000); echo 111; ?>
程序休眠10000秒之后输出 1111
先创建一个screen,然后执行它之后,退出登录状态
screen -S test php test.php
创建名为test的screen,进入screen之后执行test.php。然后让脚本在 screen里面一直执行,按 Ctrl+a d让脚本在screen后台执行。
screen -S test [detached from 3934.test]
exit 退出登录,等一段时间然后再登录上去,查看下脚本是否还在执行
ssh screen -ls There are screens on: 3934.test (02/25/2020 10:27:06 PM) (Detached)
名为test的screen ID 为3934,连接该screen并进入
screen -r 3934 php test.php
可以看到 test.php的脚本还在执行。
执行ctrl+a z,然脚本在后台执行,然后再使用fg调到前台
[1]+ Stopped screen -r 3934 执行fg php test.php
再看下screen -d 和 -D
重新打开一个窗口,ssh之后,执行
screen -d 3934 [3934.test detached.]
然后查看前一个窗口,看看是否断开了screen
screen -r 3934 [remote detached from 3934.test]
再看下,-D,在第一个窗口
screen -r 3934
第二个窗口执行-D
screen -D 3934 [3934.test power detached.]
再看第一个窗口已经被强制退出登录了。
screen -r 3934 [remote power detached from 3934.test] Connection to 127.0.0.1 closed.
作为开发人员,其实平常开发中只需要知道三个命令就能满足90%以上的使用范围了
screen -ls screen -S screen -R ctrl+a d
screen常用操作
创建会话(-m 强制):
screen -dmS session_name # session_name session名称
关闭会话:
screen -X -S [session # you want to kill] quit
查看所有会话:
screen -ls
进入会话:
screen -r session_name
总结
到此这篇关于Linux中的screen命令及使用方法的文章就介绍到这了,更多相关linux screen命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!