前台程序,會話,控制終端,使用者的關係

2021-06-28 18:21:22 字數 777 閱讀 3920



前台程序,會話,控制終端,使用者的關係

1、 乙個會話和乙個控制終端一一對應

2、 乙個控制終端對應乙個前台程序組

3、乙個會話擁有乙個前台程序組和若干後台程序組

4、 會話中的所有程序都對應同乙個控制終端

5、 只有前台程序可以read write控制終端

6、 控制終端收到一些特殊的訊號字元,會傳送相應的訊號給前台程序組的程序

7、 控制終端退出或者控制程序的退出,會傳送sighup訊號給前台程序組

完整場景: 使用者通過終端登入時,login shell 成為會話leader和控制程序,該終端被設定成為控制終端;login shell是該會話的唯一程序,在該終端中執行命令,會將命令中的程序放入乙個新的程序組(前台or後台)執行;當終端關閉時,核心傳送sighup給控制程序,即login shell, login shell傳送sighup給由login shell建立的所有程序組,如果login shell控制程序退出,則kernel傳送sighup給前台程序組中的所有程序(支援作業的情況下,也會發給後台程序組中的所有程序),sighup的預設動作是終止程序,所以login shell和相應的子程序都終止,控制終端和會話的對映關係解除。

程序 程序組 會話 控制終端之間的關係

linux是乙個多使用者多工的分時作業系統,必須要支援多個使用者同時登陸同乙個作業系統。當乙個使用者登陸一次終端時就會產生乙個會話,每個會話有乙個會話首程序,即建立會話的程序,建立與終端連線的就是這個會話首程序,也被稱為控制程序。乙個會話可以包括多個程序組,這些程序組可被分為乙個前台程序組和乙個或多...

程序組 會話 控制終端

程序組 程序組是乙個或多個程序的集合,每個程序都屬於乙個程序組,程序組有唯一組id。同一程序組中的各程序接收來自同一終端的各種訊號。pid t getpgrp void 返 用程序的程序組id 每個程序組有乙個組長程序,程序組id即為組長程序id。程序組組長可以建立乙個程序組 建立組中的程序,然後終...

linux程序組會話控制終端

linux程序組會話控制終端 乙個程序可以通過fork 呼叫建立子程序,這些程序就可以構成乙個程序組。www.2cto.com 程序組 程序組是乙個或多個程序的集合。每個程序組有乙個稱為組長的程序,組長程序就是其程序號 pid 等於程序組號 gid 的程序 即程序組號等於組長的程序號 程序組的概念有...