tft每日頭條

 > 科技

 > screen框架

screen框架

科技 更新时间:2025-01-23 20:20:40

Screen 是一款由 GNU 開發的命令行終端工具,它提供了從多個終端窗口連接到同一個 shell 會話(會話共享)。當網絡中斷,或終端窗口意外關閉是,中 screen 中運行的程序任然可以運行(系統自帶的終端窗口,當窗口意外關閉時,在該終端窗口中運行的程序也會終止。)。

screen框架(介紹一款好用的終端工具)1

安裝 screen 工具

it@serverc:~$sudoaptinstallscreen-y

* 在 CentOS 中,你需要先安裝 epel-release 才可以安裝 screen( 在 CentOS 中安裝軟件使用 yum 或者 dnf )

會話共享

在 A 主機上創建一個名為 it 的 screen 會話

it@serverc:~$screen-Sit

在 B 主機上,通過 ssh 連接到 A 主機,并查通過 -ls 選項看當前已經存在的 screen 會話

it@workstation:~/[email protected] [email protected]'spassword: WelcometoUbuntu20.04.1LTS(GNU/Linux5.4.0-60-genericx86_64) ............ ............ Lastlogin:ThuJan1413:57:322021 it@serverc:~$screen-ls Thereisascreenon: 2107.it(01/14/2107:30:27)(Attached) 1Socketin/run/screen/S-it.

然後加入到該會話

it@serverc:~$screen-xit

這樣就可以兩邊共享一個 screen 會話,不管誰運行什麼命令,另一個都可以看到;

當你需要退出會話時,你可以運行 exit 來退出會話(當運行 exit 時,兩邊都會退出 screen 會話。),也可以通過Ctrl A,D(Ctrl A 然後按 D,退出單個會話)。

當網絡中斷或窗口意外關閉後,任務繼續運行

在 Linux 打開兩個終端窗口,我們分部稱他們為 A 窗口和 B 窗口,在 A 窗口中運行 ping

it@workstation:~$ping10.10.10.1 PING10.10.10.1(10.10.10.1)56(84)bytesofdata. 64bytesfrom10.10.10.1:icmp_seq=1ttl=64time=1.21ms 64bytesfrom10.10.10.1:icmp_seq=2ttl=64time=1.22ms 64bytesfrom10.10.10.1:icmp_seq=3ttl=64time=1.19ms ............ ............

然後在 B 窗口,運行 ps aux 獲取系統進程,然後通過 grep 進行篩選

it@workstation:~$psaux|grepping it23360.00.23171448740?Ssl20200:17/usr/libexec/gsd-housekeeping it1535850.00.012764872pts/3S 14:530:00ping10.10.10.1 it1536460.00.012108736pts/2S 14:560:00grep--color=autoping

我們看到 ping 正在運行

當關掉 A 窗口後,我們再到 B 窗口(此時就隻有一個窗口了)運行之前的 ps aux 命令

it@workstation:~$psaux|grepping it23360.00.23171448740?Ssl20200:17/usr/libexec/gsd-housekeeping it1536510.00.0121082964pts/2S 14:570:00grep--color=autoping

此時 ping 命令已經結束了

重新打開一個新的終端窗口,作為 A 窗口,運行 screen

it@serverc:~$screen-Stest

然後在 screen 窗口中運行 ping 命令

it@workstation:~$ping10.10.10.1 PING10.10.10.1(10.10.10.1)56(84)bytesofdata. 64bytesfrom10.10.10.1:icmp_seq=1ttl=64time=1.21ms 64bytesfrom10.10.10.1:icmp_seq=2ttl=64time=1.15ms 64bytesfrom10.10.10.1:icmp_seq=3ttl=64time=1.21ms ............ ............

然後關閉 A 窗口,回到 B 窗口,運行 ps aux 命令;

it@workstation:~$psaux|grepping it23360.00.23171448684?Ssl20200:17/usr/libexec/gsd-housekeeping it1549640.00.012768940pts/3S 15:020:00ping10.10.10.1 it1549860.00.012108736pts/4S 15:050:00grep--color=autoping

我們發現 ping 命令還在繼續運行

當我們想回到之前的 ping 會話,可以通過 screen -r 恢複會話

it@workstation:~$screen-rtest

* 如果隻有一個 screen 會話,後面的會話名稱可以省略不寫,如果你不知道,或者忘了會話命令,你可以通過 screen -ls 查看當前主機運行的 screen 會有。

上下分屏

創建一個 screen 會話

it@serverc:~$screen-Stest

按Ctrl A,然後按Shift S開啟分屏;

screen框架(介紹一款好用的終端工具)2

按Ctrl A,然後再按Tab,切換到下面屏幕

screen框架(介紹一款好用的終端工具)3

但此時下面屏幕什麼還沒有,你需要通過Ctrl A,然後按C在下面屏幕中創建終端

screen框架(介紹一款好用的終端工具)4

這樣我們就可以在下面屏幕執行命令了,如果我們需要在不同的屏幕之間切換,可以通過 按Ctrl A,然後再按Tab來切換。

當需要退出時,我們可以通過 exit 命令退出(在一個屏幕運行 exit 命令後,隻是終端退出了,分屏的狀态并沒有退出,所以你需要通過前面的方法,切換到另一個屏幕上,再次運行 exit 退出)。

個人覺得還是tumx好用,羅布青菜,各有所愛。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved