每個程序除了有個程序id外,他還屬於乙個程序組。每個程序組可以有乙個組長程序,組長程序的id就是程序組的id。
只要程序組中有乙個程序存在,則這個程序組就存在,和其組長程序是否終止無關。從程序組建立到程序組中最後
乙個程序離開為止稱為程序組的生命週期。為什麼用離開,而不是終止?因為最後乙個程序可以選擇離開該程序組到另乙個
程序組也可以選擇終止。程序可以通過
int setpgid(pid_t pid,pid_t pgid);
來加入乙個現有的程序組,或者建立新程序組。
乙個程序只能為自己或者其子程序去設定程序組id,在其子程序呼叫了exec函式後,他就不能再改變子程序的程序組id了。
Linux 程序組 會話 守護程序
程序組 乙個或多個程序的集合 程序組id 正整數 兩個函式 getpgid 0 getpgrp eg 顯示子程序與父程序的程序組id 1 include 2 include 3 include 45 int main else if pid 0 1718 sleep 3 19 printf the ...
linux 程序組 會話期
在linux unix中,有這樣幾個概念 根據posix.1定義 因此當網路斷開或終端視窗關閉後,控制程序收到sighup訊號退出,會導致該會話期內其他程序退出。我們來看乙個例子。開啟兩個ssh終端視窗,在其中乙個執行top命令。root tivf09 root top 在另乙個終端視窗,找到top...
Linux 程序組 作業 會話
我們在利用指令檢視程序資訊的表頭 其中ppid與pid是父程序id與子程序id,而這裡有個pgid是什麼呢?我們在談論執行緒的時候,說過執行緒有乙個執行緒組,而執行緒組id就是這個執行緒主線程的id。也是這個執行緒所組成程序的程序pid。而程序也是有程序組的,這裡的這個pgid就是程序組id,每個程...