進程關係之控制終端

會話和進程組有一些其餘特性:編程

  • 一個會話能夠有一個控制終端(controlling terminal)。這一般是登陸到其上的終端設備(在終端登陸狀況下)或僞終端設備(在網絡登陸狀況下)。
  • 創建與控制終端鏈接的會話首進程被稱爲控制進程(controlling process)。
  • 一個會話中的幾個進程組可被分紅一個前臺進程組(foreground process group)以及一個或幾個後臺進程組(background process group)。
  • 若是一個會話有一個控制終端,則它有一個前臺進程組,會話中的其餘進程組則爲後臺進程組
  • 不管什麼時候鍵入終端的中斷鍵(經常是DELETE或Ctrl+C),就會將中斷信號發送給前臺進程組的全部進程
  • 不管什麼時候鍵入終端的退出鍵(經常是Ctrl+\),就會將退出信號發送給前臺進程組中的全部進程
  • 若是終端接口檢測到調制解調器(或網絡)已經斷開鏈接,則將掛斷信號發送給控制進程(會話首進程)。

這些特性示於圖9-7中。網絡

1359166263_6583

有時無論標準輸入、標準輸出是否被重定向,程序都要與控制終端交換。保證程序能讀寫控制終端的方法是打開文件/dev/tty,在內核中,此特殊文件是控制終端的同義語。天然,若是程序沒有控制終端,則打開此設備將失敗。學習

 

本篇博文內容摘自《UNIX環境高級編程》(第二版),僅做我的學習記錄所用。關於本書可參考:http://www.apuebook.com/blog

相關文章
相關標籤/搜索