2024-04-23nohup,screen,tmux

一般我们做数据分析,通常是在自己电脑上远程登录服务器,通过nohup运行脚本让任务保持非挂起状态运行,以及忘记nohup之后使用disown将任务切换为nohup状态,但如果每条命令都使用nohup实在是比较麻烦。但这样也比较麻烦,所以有了更好用的screen和tmux,最新且功能更强的是tmux,现在我已经不经常使用screen,而全面转向tmux。

应用场景

网络不稳定,经常掉线,导致任务经常中断;
使用网络下载数据,例如wget或者prefetch后台下载比较大的数据;
下班后,退出ssh登录,关机走人,任务忘了切换到nohup模式;
需要使用nohup的场景。

tmux

tmux(terminal multiplexer)是Linux上的终端复用神器,可从一个屏幕上管理多个终端。使用tmux,用户可以连接或断开会话,而保持终端在后台运行。也就是登录Linux之后,开始tmux,之后所有的操作都在tmux中完成,这样即使突然掉线了,所有的任务都还在tmux之中。
tmux的结构包括会话(session)、窗口(window)、窗格(pane)三部分,会话实质是伪终端的集合,每个窗格表示一个伪终端,多个窗格展现在一个屏幕上,这一屏幕就叫窗口。tmux的操作主要包括对会话、窗口、窗格的创建、关闭、重命名、连接、分离、选择等等。
其实使用tmux并不复杂,虽然tmux有非常多的功能,但是我们主要就是掌握一些基本快捷键就行。

1 软件安装

ubuntu

apt install -y tmux

centos

yum install -y tmux.x86_64

bioconda

conda install -y tmux

2 软件使用

在命令行直接输入tmux,就会自动打开一个新窗口,这个就是tmux的虚拟终端,可以说是伪终端。注意最下面多了一条绿色的状态栏,表示当前一个新终端里。接下来就可以在这个终端中运行任务了。这个任务就一直待在这个虚拟终端中,即使突然掉线了,还可以恢复任务,可以继续运行。


图片.png

3 快捷键

使用tmux需要经常使用快捷键,其中最常用的就是ctrl+b,因为Linux shell下很多快捷键都被占用了,只能这样操作了,每次先按一下ctrl+b,在使用对应的快捷键。注意ctrl+b是在tmux窗口中使用,在原始的shell命令行下不管用。下面列出一些最常用的快捷操作:


ctrl+b ?  :         显示快捷键帮助
ctrl+b d   :        脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
ctrl+b 空格键 :     采用下一个内置布局,这个很有意思,在多屏时,用这个就会将多有屏幕竖着展示
ctrl+b !    :        把当前窗口变为新窗口
ctrl+b "    :       横向向分隔窗口
ctrl+b 上下键:      上一个及下一个分隔窗口
ctrl+b &  :         确认后退出当前tmux
ctrl+b c     :      创建新窗口
ctrl+b n     :      选择下一个窗口
ctrl+b l     :      最后使用的窗口
ctrl+b p     :      选择前一个窗口
ctrl+b w     :      以菜单方式显示及选择窗口
ctrl+b s      :     以菜单方式显示和选择会话。
ctrl+b t      :     显示时钟。然后按enter键后就会恢复到shell终端状态

tmux案例

接下来我们演示一条,使用tmux下载生物数据的案例。

#1  新建会话,命名为wget
tmux new -s wget


# 2 运行命令
wget -c ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/swissprot.gz


# 3 按ctrl+b,然后字母d,退出会话,任务仍在运行
$ tmux new -s wget
[detached]


#4 tmux ls查看任务
$ tmux ls
wget: 1 windows (created Wed Jul 24 10:22:34 2019) [114x26]


#5 重新进入wget终端,第一个参数a也可以写成attach,任务正在运行
tmux a -t wget


# 6 关闭会话任务,如果在会话中使用ctrl + d,或者exit,就会在退出会话,也关闭了该会话
# tmux ls查看会话
$ tmux ls


#7 kill-session杀死会话,每个会话成为一个session
$ tmux kill-session -t wget


#8 关闭所有会话
$ tmux kill-server

多窗口管理

如果一次创建了多个会话,tmux还可以对这些窗口进行管理,其实这个xshell自带这个功能,使用xshell更加方便。下面列出一些快捷键,感兴趣的可以尝试一下,首先还是在窗口中按ctrl+b,然后使用对应的快捷键。


ctrl+b ” :  将当前面板平分为上下两块
ctrl+b % :  将当前面板平分为左右两块
ctrl+b x :  关闭当前面板
ctrl+b ! : 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
ctrl+b  Ctrl+方向键:以1个单元格为单位移动边缘以调整当前面板大小
图片.png

tmux翻页功能

tmux类似vim,打开一个新窗口,默认在tmux中鼠标一些功能受限,例如翻页功能。一种解决方案是使用快捷键,例如先按“ ctrl +b, [”,接下来使用鼠标即可实现翻页,然后按q退出。

另一种方法是可以通过设置进行调整。在家目录下创建一个配置文件,然后加入下面语句即可。


# 添加配置文件
vim ~/.tmux.conf
# 在文件中加入下面设置,保存退出
set -g mouse on

不过这样设置之后,会导致鼠标数字粘贴功能失效,可以在复制粘贴的时候使用按住shift键完整鼠标选中复制功能。这两种方案都行,但鼠标复制粘贴一般使用更频繁,建议翻页使用快捷键吧。tmux还有更多好用好玩的功能,可以查看tmux文档。

转自https://mp.weixin.qq.com/s/tnEVG0YvsCCrzrol0wY_XA

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,839评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,543评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,116评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,371评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,384评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,111评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,416评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,053评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,558评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,007评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,117评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,756评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,324评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,315评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,539评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,578评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,877评论 2 345

推荐阅读更多精彩内容