telnet程序的作業(yè)控制
在telnet程序中,包含了很多功能。我們在之前的文章中也介紹了一部分,例如它的安裝和測試,命令控制等等方面。今天我們將要為大家介紹一下telnet程序的作業(yè)控制,什么是作業(yè)控制呢?現(xiàn)在就讓我們來詳細(xì)看一下吧。
作業(yè)控制
Unix系統(tǒng)支持一種叫做“作業(yè)控制”的功能。它可使你暫停一個程序而工作另一程序,然后再返到第一個程序。這里我們不再詳細(xì)討論Unix的功能,但我們將介紹,若你的系統(tǒng)內(nèi)有作業(yè)控制,telnet是如何配合其工作的。 在telnet提示符下錄入z命令(后面再解釋命令名的含義)。 它將告訴telnet暫停工作而返回到“shell”(即讀入并處理你的命令的程序)。這樣你就可以在遠(yuǎn)程對話過程中錄入常規(guī)命令了。
只有當(dāng)你的shell支持作業(yè)控制,z命令才能工作。若你所用的是一種現(xiàn)代shell,如C Shell或者Korn shell,它都可以工作。但假如你用的是較陳舊的Bourne shell,它沒有作業(yè)控制,z命令也就不能工作。 事實(shí)上,telnet程序自己也“凍結(jié)”(freeze)。 你當(dāng)前正在運(yùn)行的程序被稱為放在“前臺”。當(dāng)你退出一個程序時,我們稱將其放在“后臺”。
當(dāng)你錄入 z 命令,telnet程序?qū)⒆约褐糜诤笈_而讓你返回到本地 shell(local shell),這樣你就可以隨意錄入常規(guī)的Unix命令。例如,你可以檢查你的郵件,顯示時間、日期等等。當(dāng)你想恢復(fù)遠(yuǎn)程連接時,錄入命令:
fg
該命令告訴Unix系統(tǒng)重新啟用被中斷的最后一個程序,將其置于前臺?,F(xiàn)在你就可以恢復(fù)遠(yuǎn)程連接了。 你可能會想,為什么telnet作業(yè)控制命令名是z? 這是因?yàn)椋?在支持作業(yè)控制的Unix系統(tǒng)中,你可以按下susp(暫停)鍵來將當(dāng)前程序置于后臺。通常該鍵是CTRL-Z。因此,該telnet命令是以Unix的鍵命名的。 若在一段規(guī)定的時間內(nèi)沒有進(jìn)行任何操作,許多主機(jī)會自動讓你退出。例如, 在某系統(tǒng)中,若你在15分鐘內(nèi)未錄入任何東西, 該系統(tǒng)即讓你退出。 當(dāng)你使用Z命令中斷telnet對話時應(yīng)注意這一點(diǎn)。若在規(guī)定時間之內(nèi)你未能恢復(fù)遠(yuǎn)程對話,連接將被自動切斷。
在例子的開始,我們在一臺叫nipper 的計(jì)算機(jī)上登錄。 你可以看到 shell提示符:
nipper
在該提示符下我們錄入一條telnet命令,與一臺地址名為 fuzzball .ucsb.edu的遠(yuǎn)程計(jì)算機(jī)連接:
telnetfuzzball.ucsb.edu
一旦連接確定,fuzzball即顯示標(biāo)準(zhǔn)的Unix登錄提示符。我們采用用戶標(biāo)識harley 來登錄。注意,為了保密我們錄入的口令字并未顯示出來。登錄完成后,遠(yuǎn)程機(jī)顯示一些信息,并后附一個shell提示符:
fuzzball
我們現(xiàn)在錄入data命令來顯示時間及日期。
- nippertelnetfuzzball.ucsb.edu
- Trying...
- Connected to fuzzball.ucsb.edu
- Escape character is '^]'。
- ULTRIX V4.2A (Rev.47) (fuzzball)
- Welcome to the Fuzzball System
- login: harley
- Password:
- Last login: Sun Apr 18 00:09:58 from nipper.com
- fuzzball date
- Sun Apr 18 00:24:54 CDT 1993
- fuzzball CTRL-]
- telnet> z
- Stopped
- nipper mail
- No mail for harley
- nipper fg
- telnetfuzzball.ucsb.edu
- fuzzball logout
- Connection closed by foreign host。
- nipper
接下來我們想暫時返回到nipper機(jī)上檢查有無郵件。首先,我們按下 CTRL-], 將遠(yuǎn)程連接中斷并返回到telnet。你將看到提示符:
telnet>
接著我們錄入z命令,它把telnet程序置于后臺。 現(xiàn)在我們就看到 nipper的shell
提示符。再使用mail命令來檢查有無電子郵政信息。 現(xiàn)在錄入fg命令。 shell的響應(yīng)是顯示被置于后臺的最后一條命令(例子中是telnet命令)。然后shell將該程序放回前臺, 即自動恢復(fù)遠(yuǎn)程連接。我們將再次看到fuzzball的shell提示符。
最后,我們錄入logout命令從 fuzzball上退出。遠(yuǎn)程連接自動關(guān)閉, telnet程序退出。我們又返回到開始的nipper shell提示符下。在Unix系統(tǒng)中,shell是讀入并處理你的命令的程序。有許多種Unix shell,你可以任選一種。 當(dāng)shell準(zhǔn)備接收命令時它將顯示一提示符。 若你在多臺計(jì)算機(jī)有帳戶,最好能按一定格式規(guī)定提示符,使它能包含計(jì)算機(jī)的名字(這里不作詳細(xì)闡述)。這樣,你的shell 提示符可以隨時告訴你正在使用的是哪一個shell。 依照慣例,提示符的最后一個字符表示你所用shell的類型。 字符(如本例)表明是C—Shell。$字符是表明Korn shell或Bourne shell。