linux远程关闭不中断
場景描述
系統管理員經常通過ssh或者telnet遠程登錄到Linux服務器來進行遠程管理,需要運行一些需要很長時間才能完成的任務,必須等待他們執行完畢,比如遠程操作備份,或者傳輸一些大的文件。如果需要臨時斷開,或者發生意外網絡中斷和終端意外斷開,你正在執行的任務就會被kill掉。
為了解決這樣的問題,GNU screen就是防止這種情況的一種方法。
什么是screen
screen是GNU計劃中用于命令行終端切換的自由軟件,用戶可以通過連接多個本地或者遠程的命令行會話,并在其間自由切換。screen可以看做是窗口管理器的命令行界面版本,功能非常強大。主要功能有:會話恢復、多窗口、會話共享。
yum install screen #安裝命令
rpm -qi screen #安裝完成之后不要急于使用該命令,使用該命令查看其描述信息,這是一種良好的習慣
當然如果你覺得你的英文能力足夠好的話就可以直接查看man手冊了。
screen語法
#screen [-AmRvx -ls -wipe][-d <作業名稱>][-h <行數>] [-r <作業名稱>] -s [-S <作業名稱>]
screen選項
screen常用的參數
建立一個默認的screen會話
[root@centos6 ~]#screen #窗口大小和終端相同的默認screen會話
列出當前所有的會話
[root@centos6 ~]#screen -ls #列出活動的會話和已經分離的會話
There is a screen on:2581pxs-0.centos6 (Attached)1 Socket in /var/run/screen/S-root.wKioL1nBHv-w1tLhAACCy8EQOkI502.png-wh_50
新建一個叫做session1的會話
[root@centos6 ~]#screen -S session1
[root@centos6 ~]#screen -ls
There is a screen on:
1914.session1 (Attached)1 Socket in /var/run/screen/S-root.
回到session1這個會話
為演示效果 在session1中編輯一個文件,然后直接關閉終端不正常的斷開。
重新連接遠程主機,執行screen -rsession1
wKioL1nBHxPR4uKAAADV2h_xayk102.png-wh_50
遠程detach某個會話
screen -d session1
重新打開一個終端,使用screen -d選項遠程分離會話,分離之前和之后效果圖如下,可看出分離會打斷會話的使用,但不打斷其任務的執行,依舊可以使用screen -r session1來恢復。
wKiom1nBH4bTIydYAAD3R5Mbrcs403.png-wh_50
wKioL1nBH2KQCxARAAEutNdPdFw948.png-wh_50
結束當前session并回到sessionname這個session
[root@centos6 ~]#screen -S session2
[root@centos6 ~]#screen –ls
[root@centos6 ~]#screen -d -r session1
#結束當前的session2,并回到session1會話
screen會話中的組合鍵
都是以ctrl + a開始。這里的ctrl+a是指按下ctrl+a ,松開,然后再按下其他鍵,筆者在最初使用時以為是同時按下,很別扭,仔細讀過文檔才發現是這種用法,希望讀者不要掉進這個小坑里。
Ctrl+a ? 顯示所有鍵綁定信息
Ctrl+a c 創建一個新的運行shell的窗口并切換到該窗口
Ctrl+a
Ctrl+a n Next,切換到下一個窗口
Ctrl+a p Previous,切換到前一個窗口
Ctrl+a 0…9 切換到第0…9個窗口
Ctrl+a [space] 從窗口0循序切換到窗口9
Ctrl+a C-a 在最近使用兩個窗口之間切換(C和a同時按下)
Ctrl+a x 鎖住當前的窗口,需要用戶密碼解鎖
Ctrl+a d 暫時離開當前的會話,當不影響其會話中的任務執行 #比較常用,可以多使用
Ctrl+a z 把當前會話放到后臺執行,可以使用jobs,fg等命令進行管理
Ctrl+a w 顯示所有的窗口列表
Ctrl+a t Time,顯示當前時間和系統的負載
Ctrl+a K 強行關閉當前的窗口
在窗口的最頂端標識,并不在命令提示符中顯示,請讀者多注意觀察。
對于其中的組合鍵讀者無需死記,更多的使用信息使用Ctrl+a,?查看這里不再詳述
wKioL1nBH3GhZHRlAADhF10umw8582.png-wh_50
會話共享
我們可以從QQ的遠程桌面操作聯想到screen的會話共享,有時我們遇到某個問題特別棘手,就可以使用會話共享的方式讓別的技術大牛來幫助你解決問題,你可以看到他做的所有操作,當然也可以對權限進行限制,屬于screen的高級應用,這里只演示簡單的會話共享。
終端1執行
[root@centos6 ~]#screen -S help
終端2執行
[root@centos6 ~]#screen -ls
There is a screen on:
2511.help (Attached)1 Socket in /var/run/screen/S-root.
[root@centos6 ~]#screen -x help
這時兩個終端之間就建立了會話共享了,更多的應用場景需要每一位運維工程師去挖掘。
推薦:http://www.path8.net/tn/archives/3746
轉載 http://blog.51cto.com/yangzhiheng/1966974
總結
以上是生活随笔為你收集整理的linux远程关闭不中断的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 打造vim的python编辑器
- 下一篇: ubuntu下查看caj文件