Linux上管理和运行进程除了程序级别的守护进程以外,常常用到的有好比nohup &的方式,以及screen会话的方式,而Tmux正是一个很是优秀的终端进程管理的软件,和GNU screen相似,Tmux采用BSD协议,而且支持多控制台以及灵活的切换操做,支持屏幕切分,后台输入命令等,至关因而screen的替代品,相比而言也更加先进,更加合理好用.python
安装方式,在ubuntu下可使用apt-get的方式安装,好比: sudo apt-get install tmux 便可git
而在CentOS 7.x的系统下能够直接使用yum方式安装: yum install -y tmux github
另外还可使用源码的方式编译,地址:http://tmux.github.io,注意:tmux包依赖于libevent,而且有版本要求,使用apt-get或者yum的方式会自动解决依赖.ubuntu
下面简要说一下tmux的使用:session
1. 建立新的会话并进入spa
tmux new -s abc 这样就建立了名为abc的会话而且进入,进入后能够执行各类任务code
2. 会话后台运行blog
当任务执行的时候按下快捷键Ctrl + b激活控制命令,而后按d脱离会话,会话将会在后台运行进程
3. 查看已经运行的会话get
执行 tmux ls 能够查看已有的会话
4. 进入会话
执行 tmux attach -t abc 能够进入会话,或者简写为 tmux a -t abc 也是能够的
5. 结束会话以及终端的进程
执行: tmux kill-session -t abc 能够结束掉abc会话,而后经过查看会话命令能够确认;或者也能够先进入会话而后Ctrl+c结束掉终端进程后执行exit终止会话
6. 重命名会话名称
tmux rename -t abc xyz 这样会将会话名称有abc命名为xyz
上面是最基本的操做,其实tmux最重要的操做都在终端内,全部终端内的控制命令都是在按Ctrl + b后才能够执行,好比后台运行会话使用的是Ctrl + b而后再按d,相似的还有好比下面的:
显示帮助:Ctrl + b -> ?,按q退出帮助;
选择下一个窗口:Ctrl + b -> n;
执行控制命令:Ctrl + b -> : 而后就能够执行支持的命令好比kill-session等,回车执行;
显示时钟:Ctrl + b -> t,按Enter回到终端;
选项卡的方式切换多个会话:Ctrl + b -> s会弹出多个选项卡,回车确认切换的会话
另外还有好多操做,具体均可以经过显示帮助得到.
最后举一个经常使用的例子,好比咱们要在后台执行1个任务,能够分为下面两步:
tmux new -d -s pytask # -d 后台建立pytask任务 tmux send -t pytask 'python3 timer.py' ENTER
第一个能够默认建立1个挂起的任务,第二个向会话发送自定义的指令,注意后面的ENTER表示换行执行,若是不加的话则只输入命令并未执行,具体能够经过 tmux a -t pytask 进入确认便可,当任务执行完成,可使用上面的kill-session结束终端和会话,整个执行过程也和在后台是同样的.