9.3.1 管理遠(yuǎn)程會(huì)話

2022-05-31 11:27 更新

screen命令能做的事情非常多:可以用-S參數(shù)創(chuàng)建會(huì)話窗口;用-d參數(shù)將指定會(huì)話進(jìn)行離線處理;用-r參數(shù)恢復(fù)指定會(huì)話;用-x參數(shù)一次性恢復(fù)所有的會(huì)話;用-ls參數(shù)顯示當(dāng)前已有的會(huì)話;以及用-wipe參數(shù)把目前無法使用的會(huì)話刪除,等等。

下面創(chuàng)建一個(gè)名稱為backup的會(huì)話窗口。請各位讀者留心觀察,當(dāng)在命令行中敲下這條命令的一瞬間,屏幕會(huì)快速閃動(dòng)一下,這時(shí)就已經(jīng)進(jìn)入screen服務(wù)會(huì)話中了,在里面運(yùn)行的任何操作都會(huì)被后臺(tái)記錄下來。

    [root@linuxprobe ~]# screen -S backup
    [root@linuxprobe ~]# 

執(zhí)行命令后會(huì)立即返回一個(gè)提示符。雖然看起來與剛才沒有不同,但實(shí)際上可以查看到當(dāng)前的會(huì)話正在工作中。

    [root@linuxprobe ~]# screen -ls
    There is a screen on:
    32230.backup (Attached)
    1 Socket in /var/run/screen/S-root.

要想退出一個(gè)會(huì)話也十分簡單,只需在命令行中執(zhí)行exit命令即可。

    [root@linuxprobe ~]# exit
    [screen is terminating]

在日常的生產(chǎn)環(huán)境中,其實(shí)并不是必須先創(chuàng)建會(huì)話,然后再開始工作??梢灾苯邮褂胹creen命令執(zhí)行要運(yùn)行的命令,這樣在命令中的一切操作也都會(huì)被記錄下來,當(dāng)命令執(zhí)行結(jié)束后screen會(huì)話也會(huì)自動(dòng)結(jié)束。

    [root@linuxprobe ~]# screen vim memo.txt
    welcome to linuxprobe.com

為了演示screen不間斷會(huì)話服務(wù)的強(qiáng)大之處,我們先來創(chuàng)建一個(gè)名為linux的會(huì)話,然后強(qiáng)行把窗口關(guān)閉掉(這與進(jìn)行遠(yuǎn)程連接時(shí)突然斷網(wǎng)具有相同的效果):

    [root@linuxprobe ~]# screen -S linux
    [root@linuxprobe ~]# 
    [root@linuxprobe ~]# tail -f /var/log/messages 
    Feb 20 11:20:01 localhost systemd: Starting Session 2 of user root.
    Feb 20 11:20:01 localhost systemd: Started Session 2 of user root.
    Feb 20 11:21:19 localhost dbus-daemon: dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
    Feb 20 11:21:19 localhost dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
    Feb 20 11:21:19 localhost dbus-daemon: dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
    Feb 20 11:21:19 localhost dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
    Feb 20 11:30:01 localhost systemd: Starting Session 3 of user root.
    Feb 20 11:30:01 localhost systemd: Started Session 3 of user root.
    Feb 20 11:30:43 localhost systemd: Starting Cleanup of Temporary Directories...
    Feb 20 11:30:43 localhost systemd: Started Cleanup of Temporary Directories.

由于剛才關(guān)閉了會(huì)話窗口,這樣的操作在傳統(tǒng)的遠(yuǎn)程控制中一定會(huì)導(dǎo)致正在運(yùn)行的命令也突然終止,但在screen不間斷會(huì)話服務(wù)中則不會(huì)這樣。我們只需查看一下剛剛離線的會(huì)話名稱,然后嘗試恢復(fù)回來就可以繼續(xù)工作了:

    [root@linuxprobe ~]# screen -ls
    There is a screen on:
     13469.linux (Detached)
    1 Socket in /var/run/screen/S-root.
    [root@linuxprobe ~]# screen -r linux
    [root@linuxprobe ~]#
    [root@linuxprobe ~]# tail -f /var/log/messages
    Feb 20 11:20:01 localhost systemd: Starting Session 2 of user root.
    Feb 20 11:20:01 localhost systemd: Started Session 2 of user root.
    Feb 20 11:21:19 localhost dbus-daemon: dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
    Feb 20 11:21:19 localhost dbus[1124]: [system] Activating service name='com.redhat.SubscriptionManager' (using servicehelper)
    Feb 20 11:21:19 localhost dbus-daemon: dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
    Feb 20 11:21:19 localhost dbus[1124]: [system] Successfully activated service 'com.redhat.SubscriptionManager'
    Feb 20 11:30:01 localhost systemd: Starting Session 3 of user root.
    Feb 20 11:30:01 localhost systemd: Started Session 3 of user root.
    Feb 20 11:30:43 localhost systemd: Starting Cleanup of Temporary Directories...
    Feb 20 11:30:43 localhost systemd: Started Cleanup of Temporary Directories.
    Feb 20 11:40:01 localhost systemd: Starting Session 4 of user root.
    Feb 20 11:40:01 localhost systemd: Started Session 4 of user root.

如果我們突然又想到了還有其他事情需要處理,也可以多創(chuàng)建幾個(gè)會(huì)話窗口放在一起使用。如果這段時(shí)間內(nèi)不再使用某個(gè)會(huì)話窗口,可以把它設(shè)置為臨時(shí)斷開(detach)模式,隨后在需要時(shí)再重新連接(attach)回來即可。這段時(shí)間內(nèi),在會(huì)話窗口內(nèi)運(yùn)行的程序會(huì)繼續(xù)執(zhí)行。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號