亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

偽終端

2024-06-28 13:27:41
字體:
來源:轉載
供稿:網友
偽終端引言

在終端和運行的程序之間有一個終端行規程(見http://www.CUOXin.com/nufangrensheng/p/3575752.html中的圖18-2),通過它我們能夠在終端上設置特殊字符(退格、行刪除、中斷等)。但是,當一個登陸請求到達網絡連接時,終端行規程并不是自動被加載到網絡連接和登陸程序shell之間的。

概述

偽終端這個術語暗示對于一個應用程序而言,它看上去像一個終端,但事實上偽終端并不是一個真正的終端。下圖顯示了使用偽終端時相關進程的典型結構。其中關鍵點如下:

????通常一個進程打開偽終端設備,然后調用fork。子進程建立了一個新會話,打開一個相應的偽終端從設備,將其描述符復制到標準輸入、標準輸出和標準出錯,然后調用exec。偽終端從設備成為子進程的控制終端。

  1. 對于偽終端從設備上的用戶進程來說,其標準輸入、標準輸出和標準出錯都是終端設備。對于這些文件描述符,用戶進程能夠調用終端I/O章節中介紹的所有輸入/輸出函數。但是因為在偽終端從設備之下并沒有真正的終端設備,無意義的函數調用(改變波特率、發送中斷符、設置奇偶校驗等)將被忽略。
  2. 任何寫道偽終端設備的東西都會作為從設備的輸入,反之亦然。事實上所有從設備端的輸入都來自于偽終端主設備上的用戶進程。這看起來像一個雙向管道,但從設備上的終端行規程使我們擁有普通管道沒有的其他處理能力。

我們通常用pty表示偽終端,而用tty表示終端。

偽終端的典型用途
  1. 網絡登錄服務器

    偽終端可用于構造網絡登錄服務器。典型的例子是telnetd和rlogind服務器。一旦登陸shell運行在遠端主機上,即可得到如下圖所示的結構。Telnetd服務器使用類似的結構。

    在rlogind服務器和登錄shell之間有兩個exec調用,這是因為login程序通常是在兩個exec之間檢驗用戶是否合法。

    本圖的另一個關鍵點是驅動PTY主設備的進程通常同時在讀寫另一個I/O流。圖中另一個I/O流是TCP/ip框。這表示該進程必然使用了如select或poll那樣的I/O多路轉接,或被分成兩個進程或線程。

  2. script程序

    script(1)程序是隨大多數UNIX系統提供的,它將終端會話的所有輸入和輸出信息復制到一個文件中。它將自己置于終端和登錄shell的一個新調用之間,從而完成此工作。下圖詳細描述了script程序中有關的交互。這里要特別指出,script程序通常是從登錄shell啟動的,該shell然后等待script程序的結束。

    Script程序運行時,位于PTY從設備之上的終端行規程的所有輸出都被復制到script文件中(通常叫做typescript)。因為擊鍵通常由該行規程模塊回顯,所以該script文件也包括了輸入的內容。但是,因為鍵入的口令(密碼)不被回顯,所以該文件不會包含口令。

  3. expect程序

    偽終端可以用來在非交互模式中驅動交互程序的運行。許多程序需要一個終端才能運行,passwd(1)命令就是一個例子,它要求用戶在系統提示后輸入命令。

    為了支持處理操作模式而修改所有交互式程序,是非常麻煩的。相比之下,一個更好的解決方法是通過一個腳本來驅動交互式程序。Expect程序提供了這樣的方法,它使用偽終端來運行其他程序。

  4. 運行協同進程

    程序清單15-10(http://www.CUOXin.com/nufangrensheng/p/3561379.html)所示的協同進程例子中,我們不能調用使用標準I/O庫進行輸入、輸出的協同進程,這是因為當通過管道與協同進程進行通信時,標準I/O庫會將標準輸入和輸出的內容放到緩沖區中,從而引起死鎖。如果協同進程是一個已經編譯的程序而我們又沒有源程序,則無法在源程序中加入fflush語句來解決這個問題。圖15-8(http://www.CUOXin.com/nufangrensheng/p/3561379.html)顯示了一個進程驅動協同進程的情況。我們須要做的是將一個偽終端放到兩個進程之間(如下圖所示),這誘使協同進程認為它是由終端而非另一個進程驅動的。

    現在協同進程的標準輸入和標準輸出就像終端設備一樣,所以標準I/O庫會將這兩個流設置為行緩沖。

  5. 觀看長時間運行程序的輸出

    使用任何一個標準shell,可以將一個需要長時間運行的程序放到后臺去運行。但是如果將該程序的標準輸出重定向到一個文件,并且它產生的輸出又不多,那么我們就不能方便地監控程序的進展,這是因為標準I/O庫會將標準輸出全部放在緩沖區中。我們看到的將只是標準I/O庫函數寫到輸出文件中的成塊輸出,有時甚至是大到8192字節的一塊。

    如果有源程序,則可以加入fflush調用。另一種方法是,可以在pty程序下運行該程序,讓標準I/O庫認為標準輸出是終端。下圖說明了這個結構,我們將這個緩慢輸出的程序稱為slowout。從登錄shell到pty進程的fork/exec箭頭用 虛線表示,以強調pty進程是作為后臺任務運行的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩成人久久久| 欧美一级视频在线观看| 精品日韩中文字幕| 久久成人18免费网站| 国产美女搞久久| 欧美日韩免费区域视频在线观看| 欧美久久精品一级黑人c片| 欧日韩在线观看| 亚洲深夜福利网站| 91久久精品国产91久久| 黄网动漫久久久| 欧美资源在线观看| 国产精品亚发布| 深夜福利一区二区| 国产精品入口免费视频一| 国产精品久久999| 久久综合九色九九| 中文字幕欧美日韩精品| 亚洲精品98久久久久久中文字幕| 亚洲曰本av电影| 中文字幕精品影院| 秋霞成人午夜鲁丝一区二区三区| 国产精品久久久久av免费| 精品国产一区二区三区久久狼黑人| 久久久久久亚洲精品| 亚洲黄色在线观看| 亚洲精品久久久久久久久久久久久| 国产亚洲精品成人av久久ww| 91精品国产亚洲| 欧美色另类天堂2015| 北条麻妃一区二区在线观看| 国产亚洲激情视频在线| 亚洲精品在线视频| 欧美福利视频在线观看| 国产精品美腿一区在线看| 亚洲第一偷拍网| 日韩少妇与小伙激情| 97视频在线观看网址| 欧美日韩亚洲视频| 色悠悠久久久久| 亚洲国产成人一区| 色偷偷亚洲男人天堂| 国产99久久精品一区二区| 欧美日韩免费网站| 欧美在线一区二区三区四| 91国产美女视频| 91精品国产综合久久香蕉| 欧美极品美女电影一区| xxxxx成人.com| 色偷偷88888欧美精品久久久| 国产盗摄xxxx视频xxx69| 久久视频免费在线播放| 亚洲人a成www在线影院| 美女撒尿一区二区三区| 亚洲最大的成人网| 国产精品美女www| 日韩一区二区在线视频| 97精品久久久中文字幕免费| 国产精自产拍久久久久久蜜| www.亚洲成人| 91老司机精品视频| 久久久久久com| 黑人精品xxx一区| 亚洲色图国产精品| 欧美日韩性视频在线| 中文字幕日韩欧美在线视频| 国产精品一区专区欧美日韩| 国产精品一区二区在线| 亚洲成人黄色网址| 欧美激情精品久久久久久黑人| 高清欧美性猛交xxxx| 国产精品jizz在线观看麻豆| 国内精品一区二区三区| 亚洲视频在线看| 国产精品一区久久| 懂色av中文一区二区三区天美| 在线电影欧美日韩一区二区私密| 国产精品夫妻激情| 欧美国产亚洲精品久久久8v| 欧美高清电影在线看| 一区二区三区美女xx视频| 91成人性视频| 91国产一区在线| 毛片精品免费在线观看| 国产成人精品优优av| 日韩天堂在线视频| 日韩欧美一区二区三区久久| 欧美日韩ab片| 亚洲国产精品一区二区久| 亚洲国产日韩欧美在线99| 久久伊人精品一区二区三区| 日韩亚洲欧美中文在线| 国产成人久久久| 欧美亚洲在线播放| 亚洲美女av网站| 97色伦亚洲国产| 欧美激情性做爰免费视频| 国产亚洲精品va在线观看| 亚洲视频在线免费观看| 国产一区av在线| 久久免费视频网站| 欧美激情视频网站| 美女福利精品视频| 这里只有精品在线播放| 揄拍成人国产精品视频| 精品自在线视频| 国产成人aa精品一区在线播放| 国产精品入口免费视频一| 久久国产精品久久久久| 91精品久久久久久久久中文字幕| 国产精品久久久久久久午夜| 欧美日韩亚洲精品内裤| 国产一区二区在线播放| 91亚洲精品久久久久久久久久久久| 国产精品爽爽ⅴa在线观看| 日韩黄色在线免费观看| 国产日韩欧美自拍| 日韩国产精品一区| 亚洲bt欧美bt日本bt| 亚洲免费影视第一页| 亚洲精品美女在线观看播放| 久久国产精品首页| 国产欧美精品日韩| 不卡在线观看电视剧完整版| 亚洲美腿欧美激情另类| 欧美在线视频观看| 欧美一级成年大片在线观看| 亚洲视频自拍偷拍| 97久久久免费福利网址| 国产一区二区三区免费视频| 色综合视频网站| 精品成人乱色一区二区| 亚洲精品日韩欧美| 欧美精品999| 国产精品久久久久久av福利软件| 欧美电影免费观看高清完整| 国产精品欧美一区二区| 亚洲午夜激情免费视频| 国内精品久久久久久| 精品国产电影一区| 国产精品欧美激情| 97人人模人人爽人人喊中文字| 日韩综合视频在线观看| 国产丝袜一区视频在线观看| 国产成人在线亚洲欧美| 国产一区二区美女视频| 国产亚洲人成网站在线观看| 欧美极品少妇与黑人| 国产精品视频自在线| 亚洲香蕉成视频在线观看| 久久国产精品久久国产精品| 精品欧美aⅴ在线网站| 久久99青青精品免费观看| 深夜成人在线观看| 亚洲男人天堂2023| 欧美黑人性生活视频| 38少妇精品导航| 国产成人精品a视频一区www| 久久精品国产一区| 亚洲国产精品va在线看黑人| 亚洲精品久久久久久久久久久久久| 国产噜噜噜噜噜久久久久久久久| 成人免费观看a| 久久久久女教师免费一区|