終端的概念

在UNIX系統(tǒng)中,用戶通過終端登錄系統(tǒng)后得到一個Shell進程,這個終端成為Shell進程的控制

終端(Controlling Terminal),控制終端是保存在PCB中的信息,而我們知道 fork 會復制PCB中的信息,因此由Shell進程啟動的其它進程的控制終端也是這個終端。

默認情況下(沒有重定向),每個進程的標準輸入、標準輸出和標準錯誤輸出都指向控制終

端,進程從標準輸入讀也就是讀用戶的鍵盤輸入,進程往標準輸出或標準錯誤輸出寫也就是輸

出到顯示器上。每個進程都可以通過一個特殊的設備文件 /dev/tty 訪問它的控制終端。事實上每個終端設備都對應一個不同的設備文件, /dev/tty 提供了一個通用的接口,一

個進程要訪問它的控制終端既可以通過 /dev/tty 也可以通過該終端設備所對應的設備文件來訪

問。 ttyname 函數(shù)可以由文件描述符查出對應的文件名,該文件描述符必須指向一個終端設備而

不能是任意文件。下面我們通過實驗看一下各種不同的終端所對應的設備文件名。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容