包虫病

注册

 

发新话题 回复该主题

每天学一个Linux命令z [复制链接]

1#
苯丁酸氮芥 http://pf.39.net/bdfyy/bdfyc/170224/5231270.html
1.使用场景

    在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。

使用场景:

disconnectsshmulti-taskingenvironment

安装方法:

sudoyuminstallscreensudoaptinstallscreen2.参数说明

screen[-AmRvx-ls-wipe][-d作业名称][-h行数][-r作业名称][-s][-S作业名称]-A将所有的视窗都调整为目前终端机的大小。-d作业名称将指定的screen作业离线。-h行数指定视窗的缓冲区行数。-m即使目前已在作业中的screen作业,仍强制建立新的screen作业。-r作业名称恢复离线的screen作业。-R先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。-s指定建立新视窗时,所要执行的shell。-S作业名称指定screen作业的名称。-v显示版本信息。-x恢复之前离线的screen作业。-ls或--list显示目前所有的screen作业。-wipe检查目前所有的screen作业,并删除已经无法使用的screen作业。3.最常用用法

    最常用的用法莫过于保持进程运行了。比如说我用ssh连接服务器,开了一个进程,但是我想实时地查看console的输出日志,因此不想使用nohup或者“-d”启动参数来让其在后台运行;与此同时,还需要断开ssh后依旧保持进程在运行。那么screen非常多用于这种场景。

前端中,常用的场景就是开一个screen维护npmrunstart进程了,使用nohup时,总是会玄学地出些问题,求稳的话,就用screen吧!

3.1开始一个session

screen-Syourname#创建一个screen作业,使用后会自动进入一个窗口中3.2detach一个session

#在保持当前session状态的同时,退出当前sessionctrl+a+d(三个键同时按)#当前已经进入了一个session中,退出当前session3.3显示所有session

screen-ls#显示目前所有的screen作业3.4进入一个session

screen-ryourname3.5杀死一个session

#两种方法,一种是screen命令关闭,另一种是直接杀死该窗口进程,实际效果一样screen-X-Syournamequit#杀死名叫yourname的sessionkill-9session进程号3.6自动清理死掉的session

screen-wipe3.7例子:使用screen维护一个elasticsearch服务

例如,使用screen来维护一个elasticsearch的进程

img4.screen中使用ctrl+a

ctrl+a+?#显示所有键绑定信息ctrl+a+c#创建一个新的运行shell的窗口并切换到该窗ctrl+a+-an#Next,切换到下一个winctrl+a+ctrl+a+p#Previous,切换到前一个windowctrl+a+0..9#切换到第0..9个windowCtrl+a+[Space]#由视窗0循序切换到视窗9ctrl+a+ctrl+a#在两个最近使用的window间切换ctrl+a+x#锁住当前的window,需用用户密码解锁ctrl+a+d#detach,暂时离开当前sessionctrl+a+z#把当前session放到后台执行,用shell的fg命令则可回去。ctrl+a+w#显示所有窗口列表ctrl+a+t#time,显示当前时间,和系统的loadctrl+a+k#killwindow,强行关闭当前的windowctrl+a+[#进入copymode,在copymode下可以回滚、搜索、复制就像用使用vi一样C-bBackward,PageUpC-fForward,PageDownH(大写)High,将光标移至左上角LLow,将光标移至左下角0移到行首$行末wforwardoneword,以字为单位往前移bbackwardoneword,以字为单位往后移Space第一次按为标记区起点,第二次按为终点Esc结束copymodectrl+a+]#paste,把刚刚在copymode选定的内容贴上豆子前端

分享 转发
TOP
发新话题 回复该主题