目录
简介
screen 用于多重视窗管理程序
当我们使用 ssh 连接 linux 执行命令的时候会占用当前控制台,虽然可以用
nohup
的方式扔到后台去执行,但是也觉得不是很方便,screen 就可以帮我们解决这样的苦恼
安装
centos
yum -y install screen
ubuntu
apt install screen
使用
说明
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]
参数
-A
将所有的视窗都调整为目前终端机的大小。-d <作业名称>
将指定的 screen 作业离线。-h <行数>
指定视窗的缓冲区行数。-m
即使目前已在作业中的 screen 作业,仍强制建立新的 screen 作业。-r <作业名称>
恢复离线的 screen 作业。-R
先试图恢复离线的作业。若找不到离线的作业,即建立新的 screen 作业。-s <shell>
指定建立新视窗时,所要执行的 shell。-S <作业名称>
指定 screen 作业的名称。-v
显示版本信息。-x
恢复之前离线的 screen 作业。-ls
或--list
显示目前所有的 screen 作业。-wipe
检查目前所有的 screen 作业,并删除已经无法使用的 screen 作业。
示例
创建一个名为ping
的screen
终端
screen -S ping
显示已创建的 screen 终端
screen -ls
恢复名为ping
的screen
终端
screen -r ping
技巧
1、离开screen
终端并不中断程序
在screen
终端下按住ctrl A+D
2、开机启动screen
并执行指定shell
centos
系统
编辑/etc/rc.d/rc.local
输入要执行的shell
即可
vim /etc/rc.d/rc.local
注意 /etc/rc.d/rc.local
需要可执行权限
如需要开机运行ping yedajiang44.com
1、在home
目录新建start.sh
文件并写入
screen_name="ping"
screen -dmS $screen_name
cmd="ping yedajiang44.com";
screen -x -S $screen_name -p 0 -X stuff "$cmd"
screen -x -S $screen_name -p 0 -X stuff $'\n'
screen -x -S $screen_name -p 0 -X stuff "exit"
注意 start.sh
需要可执行权限
2、在/etc/rc.d/rc.local
输入要执行的shell
/home/start.sh