程序組 會話 控制終端

2022-08-15 01:54:13 字數 1029 閱讀 4444

程序組

程序組是乙個或多個程序的集合,每個程序都屬於乙個程序組,程序組有唯一組id。同一程序組中的各程序接收來自同一終端的各種訊號。

pid_t getpgrp(

void);//

返**用程序的程序組id

每個程序組有乙個組長程序,程序組id即為組長程序id。程序組組長可以建立乙個程序組、建立組中的程序,然後終止。只要程序組有乙個程序,程序組就存在。

//

加入另乙個程序組或建立乙個新程序組

int setpgid(pid_t pid,pid_t pgid);//

成功返回0,失敗返回-1

//將pid程序的程序組設定為pgid

//pid=0表示使用呼叫者的程序id

//pgid為0表示指定的程序id作為程序組id

乙個程序只能設定自己和子程序的程序組id。

會話

會話是乙個或多個程序組的集合。乙個會話開始於使用者登入,終止於使用者退出,在此期間,該使用者執行的所有程序都屬於這個會話週期。

//

建立乙個新的會話

pid_t setsid(

void);//

成功返回程序組id,失敗返回-1

//該程序稱為新會話的會話首程序(建立該會話的程序),會話id即為首程序的id

//該程序成為乙個新程序組的組長程序

//切斷與控制終端的聯絡

//如果該程序已經是乙個程序組的組長,則函式出錯。

pid_t getsid(pid_t pid)

//返**用者會話首程序的程序組id,即首程序id,失敗返回-1

//pid一般為0,表示呼叫程序的id

控制終端

如果乙個會話有乙個控制終端,則它有乙個前台程序組,其它程序組為後台程序組。建立與控制終端連線的會話首程序被稱為控制程序。控制終端的輸入和終端產生的訊號會發給前台程序組。

linux程序組會話控制終端

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

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

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

程序 程序組 會話

1.程序組 每個程序屬於乙個程序組,程序組是乙個或多個程序的集合,每個程序有乙個唯一的程序組id。獲取程序組的兩個函式 include pid t getpgrp void pid t getpgrp pid t pid 程序組可以有乙個組長程序,組長程序的標識是,其程序組id等於其程序id。程序組...