1.当我们用ssh连接服务器时,只有一个终端,但有时候我们希望有多个。

2.有些程序需要运行一些时间,在这个时间里,我们希望可以去做其他的事情。

3.有的程序要跑好几个小时,这时候,我们希望断开远程连接后,它可以在服务器上继续运行。

nohup

刚开始,尝试的方法是 使用 nohup 命令

这个命令可以使程序在后台运行,即使你断开了远程连接,它也会继续运行

用法:

nohup <命令> &

它会自动创建一个文件,把运行结果输出到这个文件

当我们要杀死这个程序的时候,就要用kill

kill -9 <进程号>

可以通过 ps 命令,查看进程号

这个方法显然不太好用,本来要用screen,但是偶然间看到Tmux更强大,就直接使用了Tmux

Tmux

 Ubuntu环境下的安装

sudo apt-get install tmux

基本用法
# 启动tmux
$ tmux # 退出
$ exit 或 Ctrl+D # 新建
$ tmux new -s <name> # 分离会话
$ tmux detach #查看所有窗口
tmux ls # 重接会话 使用伪窗口编号
$ tmux attach -t # 重接会话 使用伪窗口名称
$ tmux attach -t xiaoqi # 杀死会话,使用会话编号
$ tmux kill-session -t # 杀死会话,使用会话名称
$ tmux kill-session -t <name> # 切换,使用会话编号
$ tmux switch -t # 切换,使用会话名称
$ tmux switch -t <session-name>

快捷键,只能在你新建的会话里面使用,按CTRL+B进入命令模式,按esc退出命令模式


CTRL+B 用 prefix表示 

常用快捷键

prefix s  列出会话,可进行切换

prefix $  重命名会话

prefix d  分离当前会话

prefix D  分离指定会话

  

窗口管理
prefix c  创建一个新窗口 prefix ,  重命名当前窗口 prefix w  列出所有窗口,可进行切换 prefix n  进入下一个窗口 prefix p  进入上一个窗口 prefix l  进入之前操作的窗口 prefix ~  选择编号0~9对应的窗口 prefix .  修改当前窗口索引编号 prefix '  切换至指定编号(可大于9)的窗口 prefix f  根据显示的内容搜索窗格 prefix &  关闭当前窗口   窗格管理
prefix %  水平方向创建窗格 prefix "  垂直方向创建窗格 prefix Up|Down|Left|Right  根据箭头方向切换窗格 prefix q  显示窗格编号 prefix o  顺时针切换窗格 prefix }  与下一个窗格交换位置 prefix {  与上一个窗格交换位置 prefix x  关闭当前窗格 prefix space(空格键)  重新排列当前窗口下的所有窗格 prefix !  将当前窗格置于新窗口 prefix Ctrl+o  逆时针旋转当前窗口的窗格 prefix t  在当前窗格显示时间 prefix z  放大当前窗格(再次按下将还原) prefix i  显示当前窗格信息    其他命令
tmux list-key  列出所有绑定的键,等同于prefix ? tmux list-command  列出所有命令

这个博客参考的资料有:

https://www.jianshu.com/p/d4186281a80c

http://c.biancheng.net/view/1068.html

https://zhuanlan.zhihu.com/p/98384704

https://www.cnblogs.com/liuguanglin/p/9290345.html

												

Tmux和一点nohup的更多相关文章

  1. MongoDB-MMS使用总结

    环境:阿里云 系统:ubuntu 12.04 数据库:MongoDB shell version: 2.0.4 登录MMS,注册相应用户 根据文档开始安装:Install the Monitoring ...

  2. cassandra集群缩容与剔除问题节点

    今天在操作cassandra集群数据迁移时发生了一些意料之外的事情,服务器迁移前与迁移后同样为5台,但是不知道是什么原因导致的,迁移过后的节点居然多出了一台cassandra节点,个人瞬间感觉莫名其妙 ...

  3. 使用nohup或者tmux将程序挂在后台

    程序挂在后台 nohup nohup 命令 & 这样的命令会将屏幕的输出重定向到同目录的nohup.out中,可以使用 > 来重定向输出. nohup 命令 > .log & ...

  4. Linux 下在后台运行进程:nohup,setsid,& 以及 tmux

    参考: Linux 技巧:让进程在后台可靠运行的几种方法 ssh 登录了远程服务器时,如果在前台运行耗时较长的任务, 当 ssh 掉线或关闭窗口时会导致命令停止运行. hup 与 nohup 当用户注 ...

  5. nohup和&的区别

    nohup和&的区别http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=4241330&fromuid=21288388 ...

  6. Linux下如何不停止服务,清空nohup.out文件

    tips:最近发现有不少人在百度这个问题,当初如易我也是初学者,随便从网上搜了一下,就转过来了,不过为了避免搜索结果同质化,为大家提供更翔实的参考,我将nohup.out相关知识整理汇总如下: 1.n ...

  7. Tmux

    常用按键 这里需要说明一点的是,tmux的任何指令,都包含一个前缀,也就是说,你按了前缀(一组按键,默认是Ctrl+b)以后,系统才知道你接下来的指令是发送给tmux的. C-b ? 显示快捷键帮助 ...

  8. Linux_解决nohup命令生成的多余的大日志文件

    解决nohup命令生成的多余的大日志文件 经常使用命令 nohup /usr/bin/php /srv/www/update.php & 可以让它在后台安静的进行,但是有一个烦恼就是,它会生成 ...

  9. 从Tmux 转到GNU Screen

    网上很多地方都说Tmux比GNU Screen要好用,不过无意间看到这篇Switching from tmux to GNU Screen之后,我发现GNU Screen的窗口/区域概念更好,至少是更 ...

随机推荐

  1. ffmpeg 学习:002-代码架构

    前言 使用 ffmpeg 库时,最好先理解好ffmpeg的代码结构图. 下面这张图表明了FFmpeg在解码一个视频的时候的函数调用流程,为了保证结构清晰,其中仅列出了最关键的函数,剔除了其它不是特别重 ...

  2. day08-Python运维开发基础(文件操作与相关函数、函数基础)

    1. 文件操作及相关函数 # ### 文件操作 """ fp = open("文件名称",mode=模式,encoding=编码集) fp 文件io对 ...

  3. centos下离线安装zip和unzip

    首先如果你的centos可以联网,那可以不用看了,直接yum install -y zip unzip就行,非常的痛快! 如果不能联网,像我一样,只能用vpn连上去,做了点限制.那就非常烦了,yum了 ...

  4. maven安装和eclipse集成遇到的问题

    修改完maven的位置之后,修改配置文件conf/settings.xml <localRepository>E:/apache-maven-3.3.1-bin/mvn/mvnreposi ...

  5. 深入理解JVM Note

    第2章 Java内存区域与内存溢出异常 运行时数据区域 在虚拟机有栈.堆和方法区. 线程共享的:堆.方法区 不共享的:栈.程序计数器(代码执行的行号) 程序计数器(Program Counter Re ...

  6. OLTP和OLAP区别详解

    Oracle属于OLTP类型,而gp数据库属于OLAP类型的.具体了解如下: 数据库系统一般分为两种类型,一种是面向前台应用的,应用比较简单,但是重吞吐和高并发的OLTP类型:一种是重计算的,对大数据 ...

  7. Ubuntu上安装tftp服务

    1. 安装 sudo apt install tftpd-hpa 2.设置工作目录 mkdir ~/tftpdroot tftpdroot 3.修改配置文件 sudo vi /etc/default/ ...

  8. [YOLO]《YOLO9000:Better, Faster, Stronger》笔记

    一.简单介绍 YOLO9000(也叫YOLO v2),主要是在YOLO v1的基础上做了改进,而且效果还是比较显著的,在原论文中,作者提到的改进大致包括两个工作: 1.检测性能上的改进,提出了YOLO ...

  9. 用CSS编写多种常见的图形

    用CSS编写多种常见的图形 正方形与长方形 这个是最简单的,直接上代码 <!DOCTYPE html> <html> <head> <title>< ...

  10. spark任务日志配置

    样例代码: public class SparkTest { private static Logger logger = Logger.getLogger(SparkTest.class); pub ...