PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Linux中screen命令大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

screen重要性

screen的重要性,主要是体现在它可以方便的在服务器上一直运行,只要服务器没有宕机,没有断电它就可以做到不用停止。其实后端工程师经常会遇到,要通过执行脚本处理一些数据,但这个脚本可能需要执行半天或者几天,screen就是最佳选择了,过一段时间登录到服务器上查看下运行状态,是否运行完成。没有完成挂起来继续运行。

screen 常用的参数

@H_696_6@screen 命令参数很多,我们只看下平常用的比较多的几个 @H_675_8@ 参数 说明 ls 列出当前所有的回话 S 大写的S,新建一个名称是xxx的会话 r 通过序号连接进程会话 d detach断开某个会话 D 与-d命令相同,但是会logout原来在screen里的用户

在每个screen 会话下,所有命令都以 ctrl+a开始的

@H_675_8@ 参数 说明 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

大佬总结

以上是大佬教程为你收集整理的Linux中screen命令全部内容,希望文章能够帮你解决Linux中screen命令所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: