使用screen后台實時執行命令


  在做一個大體積的數據備份時,在遠程終端上直接運行備份腳本back.sh,或運行back.sh&放到后台運行,此時關閉遠程終端,或網絡斷開都會讓命令停止運行。此時就要使用到screen命令。

  screen中有會話的概念,用戶可以在一個screen會話中創建多個screen窗口,在每一個screen窗口中就像操作一個真實的telnet/SSH連接窗口一樣。

(1).安裝screen軟件包

  可以直接使用yum安裝

[root@xuexi ~]# yum -y install screen

  也可以掛載CentOS7的光盤鏡像安裝

[root@xuexi ~]# rpm -ivh /mnt/Packages/screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm 
准備中...                          ################################# [100%]
正在升級/安裝...
   1:screen-4.1.0-0.25.20120314git3c29################################# [100%]

(2).screen使用方法

  直接在命令行鍵入screen命令

[xf@xuexi ~]$ screen

  screen會創建一個全新的shell窗口,你可以執行任意程序,就像在ssh窗口一樣。

  比如說我們使用vim創建一個txt文件,並輸入一部分數據。

[xf@xuexi ~]$ vim a.txt
//並隨意輸入一些數據
a
bb
ccc
dddd
eeeee
ffffff

  輸入完成后退出插入模式回到正常模式,按下<Ctrl>+a+d。此時會顯示如下部分

[root@xuexi ~]# screen
[detached from 10992.pts-0.xuexi]  //分離出一個獨立的會話

  一段時間后,或者關閉了當時的終端,如果還想要回到之前的screen會話

[root@xuexi ~]# screen -ls  //查看已經建立會話的ID
There is a screen on:
	10992.pts-0.xuexi	(Detached)
1 Socket in /var/run/screen/S-root.

[root@xuexi ~]# screen -r 10992  //重新建立會話

  分離出獨立會話后,即使關閉當前終端,也可再次使用。如果想關閉screen會話,使用exit命令。

(3).常用參數

screen -S [會話名稱]  指定建立會話的名稱

[root@xuexi ~]# screen -S test
[detached from 11347.test]
[root@xuexi ~]# screen -ls
There is a screen on:
	11347.test	(Detached)
1 Socket in /var/run/screen/S-root.

screen -ls  列出當前所有的會話

screen -r [會話ID|會話名稱]  回到指定會話,可以是會話名稱,也可以是會話ID

[root@xuexi ~]# screen -r test
[detached from 11347.test]
[root@xuexi ~]# screen -r 11347
[detached from 11347.test]

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM