每個程序組都有乙個組長程序,組長程序的程序號等於程序組id。組長程序可以建立乙個程序組、建立該組中的程序。只要某個程序組中有乙個程序存在,則該程序組就存在,與組長程序是否終止無關。從程序組建立開始到其中最後乙個程序離開為止的時間區間成為程序組的生存期。程序組中最後乙個程序可以終止或者轉移到另乙個程序組中。
程序呼叫setpgid(setsid也可以)可以參加乙個現存的組或者建立乙個新程序組。可以是前台程序組或後台程序組。
#include
#include
int setpgid(pid_t pid, pid_t pgid);
//返回:若成功則為0,出錯為-1
這將pid程序的程序組id設定為pgid。如果pid是0,則使用呼叫者的程序id。另外,如果pgid是0,則由pid指定的程序id被用作為程序組id。如果這兩個引數相等,則由pid指定的程序變成程序組組長。
乙個程序只能為它自己或它的子程序設定程序組i d。在它的子程序呼叫了exec後,它就不再能改變該子程序的程序組i d。
程序控制之更改使用者ID和組ID
1.更改使用者id和組id 1.1.設定使用者id和設定組id 實際使用者id 我們實際上是誰 實際組id 有效使用者id 用於檔案訪問許可權檢查 有效組id 附加組id 儲存的設定使用者id 由exec函式儲存 儲存的設定組id 實際使用者id和實際組id標識我們是誰。這兩個欄位在登入時取自口令檔...
什麼是殭屍程序?
什麼是殭屍程序?在 unix linux 系統中,通過 fork 建立子程序。子程序結束時,他的父程序並沒有等待 呼叫 wait waitpid 他,則他成為乙個殭屍程序。但如果該程序的父程序已經結束了,那麼該程序就不會變成殭屍程序,因為每個程序結束的時候,系統都會掃瞄當前系統中所執行的所有程序,看...
UNIX 什麼是程序
對於乙個程式來說,他的被程式設計師寫好,通過編譯,就會以可執行檔案存放在磁碟了,他的存放格式elf格式,可能是二進位制檔案,也有可能是文字檔案,當使用者要使用程式時,就會通過系統的shell終端去執行命令,所以說程式時個靜態的特性,他是儲存在磁碟上的許多指令的有序集合,沒有執行的概念。而對於程序來說...