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結束終端和會話,整個執行過程也和在後臺是同樣的.