Linux系統命令中screen命令詳解_Linux

來源:互聯網
上載者:User

前言

對於執行長時間命令(如大檔案運輸)而言,為了不讓它終止,都會開啟一個遠程登陸會話視窗來單獨運行這樣的命令。在此期間,不能關閉遠程登入工作階段視窗或者中斷連線,否則前功盡棄。這時候screen命令就派上用場了。

Screen是一款由GNU計劃開發的用於命令列終端切換的自由軟體。使用者可以通過該軟體同時串連多個本地或遠端命令列會話,並在其間自由切換。GNU Screen可以看作是視窗管理器的命令列介面版本。它提供了統一的管理多個會話的介面和相應的功能。

下面來介紹下我最常用的screen命令(僅限於我):

首先建立screen會話視窗,可以在這個視窗中執行任何命令,如同在遠程登入工作階段視窗下一樣。

[root@wing ~]# screen

接下來我想登陸我的MySQL進行人機互動,當然是在screen會話視窗中。

[root@wing ~]# mysql -uroot -p --socket=/data/mysqldata3306/sock/mysql.sock

然後在我的MySQL中執行如下命令,customer表中有150萬條資料,執行起來需要一點時間(對於我這種爛虛擬機器來說而已),所以我現在又不想複製一個遠程登陸會話視窗(太懶),所以我要將當前的這個screen會話拋到後台運行。

root@localhost : tcph 12:37:39> SELECT * FROM customer;

下面這個命令就是將screen會話拋到後台了,當然MySQL裡面的任務還在運行。

Ctrl+A D(按下ctrl+A ,鬆開再按下D)

然而現在我又想去看看我的語句跑完沒(我是個麻煩的人),執行命令如下:

screen -ls

此時就可以查看剛剛丟到背景任務了,見下圖:

既然找到了任務,也看到了任務在screen裡面的代號(紅框前部分的數字)了,那趕緊運行吧。

[root@wing ~]# screen -r 6158

這時候我們就能看到了前面在MySQL中的互動,此時發現我任務跑完了。如果我還是按Ctrl+A D的話,它還是會存在於screen -ls的任務清單中,作為強迫症的我,怎麼能忍受=_=,那麼怎麼辦呢?

Ctrl+A K

這樣子就可以殺掉這個任務了,並且在screen -ls的任務清單中也就不存在了。

總結

好了,以上就是這篇文章的全部內容了,想瞭解更深入的命令請大家繼續關注云棲社區,小編會會陸續更新更多更詳細關於Linux命令的文章。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.