screen执行php,Linux下screen命令使用教程

本文介绍了Linux下的screen命令,用于方便地管理桌面会话和长运行进程。通过screen,即使网络不稳定,进程也能保持后台运行。文章详细讲解了如何启用screen、创建和切换会话、后台运行及恢复会话,并列举了常用快捷键,帮助用户提高工作效率。
摘要由CSDN通过智能技术生成

Linux 下的 screen 命令能够方便的管理桌面会话,每个会话可以包含多个屏幕。使用 screen 可以快捷的保存工作环境,比如有的任务需要执行很长时间,或者网络不稳定的情况下保存桌面环境,下次使用 SSH 登录的时候可以直接进入某个会话,直接提升工作效率。

一开始,想到使用 screen,主要是有些进程需要执行很长时间,如果连接突然断开,或者网络不稳定的情况下会话退出了,进程就会被终止。使用 screen 可以很好的解决这个问题,使得进程可以常驻后台运行。本人使用的是 Ubuntu 系统,相信其他系统也差不多一样。在 Ubuntu 下安装非常方便,直接 $ apt-get install screen 就可以搞定。

网上的一些关于 screen 的教程,都不是很清晰,特别是对这个不懂的人,估计看了还是不会玩,下面以通俗的语言来玩玩 screen 命令。

启用 screen,同时开启一个 screen 会话$ screen

// 执行上面的命令后出现如下全屏界面

Screen version 4.00.03jw4 (FAU) 2-May-06

Copyright (c) 1993-2002 Juergen Weigert, Michael Schroeder

Copyright (c) 1987 Oliver Laumann

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either

version 2, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR

PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program (see the file COPYING); if not, write to the Free Software Foundation, Inc., 51

Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Send bugreports, fixes, enhancements, t-shirts, money, beer & pizza to screen@uni-erlangen.de

To use byobu (formerly screen-profiles), exit screen and run 'byobu'.

[Press Space or Return to end.]

接着按下回车或者空白就可以,这样系统就会接受 screen 的一些快捷键命令,如按下 ctrl + a 组合键后,然后按下 n ,屏幕左下角会提示 No other window.。

查看有哪些 screen 会话,使用 screen -ls,如下示例。root@may:~# screen -ls

There are screens on:

15985.pts-2.may (07/15/2015 12:32:44 PM) (Attached)

6293.pts-6.may (07/14/2015 06:13:38 AM) (Detached)

11402.pts-0.may (06/23/2015 05:46:22 AM) (Detached)

3 Sockets in /var/run/screen/S-root.

root@may:~#

上面例子中最上面的一个会话,就是刚刚打开的。创建一个指定名称的会话,可以使用命令 screen -S name。

screen 的状态有两种,Attached 和 Detached,分别表示前台运行和后台运行。使用 screen -r 会话名 可以将 Detached 状态的屏幕会话状态修改为前台运行,并同时切换到这个会话中。如果会话已经是 Attached 状态下,使用命令 screen -r 会话名 是不能切换到那个会话下的,会提示类似于 There is a screen on:15985.pts-2.may (07/15/2015 12:32:44 PM) (Attached) There is no screen to be resumed matching 15985.pts-2.may. 。如果需要切换到状态为 Attached 的会话下,需要先执行 screen -d 会话名 将会话状态修改为 Detached。将当前会话转为后台运行可以使用快捷键 ctrl+a, d 。如下示例:root@may:~# screen -r 6293.pts-6.may

...

root@may:/srv/www/webchat.lmlphp.com# screen -ls

There are screens on:

15985.pts-2.may (07/15/2015 12:32:44 PM) (Attached)

6293.pts-6.may (07/14/2015 06:13:38 AM) (Attached)

11402.pts-0.may (06/23/2015 05:46:22 AM) (Detached)

3 Sockets in /var/run/screen/S-root.

root@may:/srv/www/webchat.lmlphp.com# screen -r 15985.pts-2.may

There is a screen on:

15985.pts-2.may (07/15/2015 12:32:44 PM) (Attached)

There is no screen to be resumed matching 15985.pts-2.may.

root@may:/srv/www/webchat.lmlphp.com#

screen 的控制快捷键是 ctrl+a,所有的命令都是在这个控制信号之后,所以在 screen 模式下,ctrl+a 组合是不会将光标回到命令行的最前面的。相关的快捷键如下:

ctrl-a c:创建一个新的 Shell 窗口

ctrl-a ctrl-a:在 Shell 间切换,或者按住 ctrl 连按两次 a

ctrl-a w 显示所有的 Shell 窗口

ctrl-a n 切换到下一个 Shell

ctrl-a p 切换到上一个 Shell

ctrl-a 0…9 同样是切换各个 Shell

ctrl-a d 将会话转为后台运行

一般情况下,需要断开连接时,最好将所有的 screen 会话状态全部改为 Detached,这样更安全,更稳定,Attached 状态下容易丢失窗口。如果需要删除某个屏幕会话,可以切换到那个屏幕下,使用 exit 命令,或者在会话下使用 ctrl+a k 会话名,系统会提示是否全部关闭所有窗口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值